对称算法实现加密结果不同、解密结果相同

 

加密:在明文前加随机数,比如当前日期和时间;且随机数长度不能等于加密算法的block长度,比如des算法,添加的随机数不能是8的整数倍;之后在添加随机数的数据的后面补位,这样就可以打乱明文的秩序,从而导致每次加密的结果不同。

解密:对上述密文进行解密并去掉随机数和补位,即可得到预期的明文。

 

例如:

使用密钥57415443484441544154696D65434F531122334455667788进行des加密:

第一次加密时,在明文前面补AA,后面补位80000000000000,加密结果为F1659E8A8DCB11A6C4015CEB8D00F38B

第二次加密时,在明文前面补BB,后面补位80000000000000,加密结果为ED6361B25CAF77C9C4015CEB8D00F38B

 

两次加密结果不同。

 

之后使用使用密钥57415443484441544154696D65434F53对两个加密结果进行des解密

其结果分别为

AA112233445566778880000000000000

BB112233445566778880000000000000

之后对上述两个结果去掉前面1字节补位和后7字节补位,即可得到相同的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值