欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数字签名加密

程序员文章站 2022-07-09 11:50:29
...

      简单实用的签名加密 就是 进行 位运算,连续两次位运算 即可还原解密,方便,但是 缺点 是 保密性低。

	/**
	 * key 可以 自定义 具体值
	 * 建议使用 7
	 * 十进制		二进制
	 *  1		0001
	 *  3		0011
	 *  7		0111
	 *  15		1111
	 */
	@Test
	public void testEncrypt(){
		String str = "J0V7Q8eR9Qo4cW19Q742"; // 签名
		int key = 7;		
		String encrypt = encrypt(str, key); // 第一次加密
		System.out.println(encrypt); // M7Q0V?bU>Vh3dP6>V035
		String decrypt = encrypt(encrypt, key); // 解密、还原
		System.out.println(decrypt); // J0V7Q8eR9Qo4cW19Q742
	}
	
	/**
	 * 使用 异或 ,两次异或 就可以解密/还原
	 */
    public String encrypt(String str, int key) {
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            chars[i] = (char) (chars[i] ^ key);
        }
        return new String(chars);
    }