开发工具与关键技术:MyEclipse,java
作者:吴耀存
撰写时间:2019-4-13
对字符串移位加密步骤总结:1.需要加密的一段文字。2. 将文字转换成字节数组3.创建集合来接受字节数组4.对集合里的数据移位5.再把移完位的集合数据赋值给字节数组6.然后字节数组再按照原来的编码格式进行编码,编出来的数据已经和会发现和原来的不一样。
public static void main(String args[]){
String testing="莫忘记,人类情感上最大的需要是感恩";
//转成GBK二进制数据需要抛一下异常
try {
//把上面的一段话转为字节数组
byte[] bytes2=testing.getBytes("GBK");
//创建一个ArrayList类型的集合,用来存储bytes2字节数组
List<Integer> bytes3=new ArrayList<>();
//遍历赋值给bytes3集合
for (int i=0;i<bytes2.length;i++) {
int b=bytes2[i];
bytes3.add(b);
}
//移位加密
Collections.rotate(bytes3, 1);
//遍历赋值给bytes2数组
for (int i=0;i<bytes3.size();i++) {
int c=Integer.valueOf(bytes3.get(i));//
byte a=(byte)c;//转换类型
bytes2[i]=Byte.valueOf(a);
}
//对bytes2的字节数组转为字符串,以GBK的编码格式
String str4=new String(bytes2,Charset.forName("GBK"));
//此时打印出来的值和原本已经大不相同
System.out.println(str4);
} catch (Exception e) {
System.out.println(e);
}
}
移位前后结果图: