1.xor —> 异或算法的加密原理:
一个整数 a 和任意一个整数 b 异或两次,得到的结果是整数 a 本身,即: a == a ^ b ^ b。
这里的 a 就是需要加密的原数据,b 则是密钥。a ^ b 就是加密过程,异或的结果就是加密后的密文。密文 (a ^ b) 再与密钥 b 异或,就是解密过程,得到的结果就是原数据 a 本身。
a = 原数据
b = 密钥
// 一次异或, 加密得到密文
c = a ^ b
// 二次异或, 解密得到原数据(d == a)
d = c ^ b
2.代码实例
2.1 xor加密工具类封装:XorUtils
如图所示:
代码如下:
package com.xinqiao.utils;
public class XorUtils {
//异或算法(xor)
//定义成byte字节的数组(8个字节16进制) XOR 加密/解密用的原始密码
private static byte[] cipKey = {(byte)0xAA,(byte)0x55,(byte)0x22,(byte)0x11,(byte)0xBB,(byte)0x66,(byte)0xEE,(byte)0x77};
/**