使用异或实现对String字符串的加密解密
2019-12-24 本文已影响0人
LX_代码制造坊
为了保证程序的安全,经常采用数据加密的方法。Java 中提供了专门用于加密运算的类和接口。
除了使用加密类和接口外,还可以通过多种方式实现字符串的加密。其中常用的就是获取字符串的字节数组,之后对字节数组中的每个字节都进行运算,得到新的内容,这时所获得的字符串与原字符串将不相同,以此达到加密的效果;解密时再将加密字符串进行相反的运算,这样即可得到原字符串。
既然是异或方法,我们首先需要知道异或的概念,异或在字节运算时,相同为0,相异为1。所以根据这个特点,我们就可以用一段代码对字符串进行加密解密了。
即字符串的加密解密都是这个方法,加密解密都调用这个方法。
public static String decode(String a,char b){
byte c[]=a.getBytes();
for (int i=0;i < c.length;i++){
c[i] = (byte) (c[i]^(int)b);//异或运算
}
String result =new String(c,0,c.length);//新的字符串
return result;
}