数字签名加密

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

	/**
	 * 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);
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值