换位密码算法方案,又称为置换加密方案,其根据一定的规则重新安排明文字母,使之成为密文。换位密码是最简单的密码学算法。
1. 换位加密、解密算法
换位加密解密的算法有很多种,这里介绍基于二维数组移位的换位加密、解密算法。二维数组移位的换位加密、解密算法即将明文字符串按照一个给定的顺序保存在二维数组中,然后按照另外一个顺序读出,便的到密文。执行相反的过程便可以恢复出明文。
1)换位加密算法
基于二维数组移位的加密算法的操作步骤如下:
(1)给定一个二维数组的列数,即该二维数组每行可以保存的字符个数。
(2)将明文字符串按行依次排列到该二维数组中。
(3)按列读出该二维数组中的字符,这样便得到密文。
可以根据此思路来编写相应的加密算法,代码示例如下:
/*** 加密算法
*@paramstr 明文
*@paramn 指定的二维数组的列数
*@return
*/
static char[] jiami(char[] str,intn){intlen,d,i,j,m;char[] temp,miwen;
len=str.length;if((d=len%n)!=0){
len= len + n-d;
}
temp= new char[len];
m=len/n;for(i=0;i
temp[i+m*j]=str[i*n+j];
}else{
temp[i+m*j]=' ';
}