3DES加密后每次都不一样?

xyq1986 2014-04-28 09:46:24
比较密码123456,用3des加密,加密后每次都不一样?
那还能解密出来,是为什么
...全文
921 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
btman52 2014-04-28
  • 打赏
  • 举报
回复
你用的是同一个TripleDESCryptoServiceProvider,创建新的TripleDESCryptoServiceProvider实例时会自动生成一组随机的iv和key,用同一个TripleDESCryptoServiceProvider相当于加密解密使用同样的iv和key,自然能够解密。 再次执行时由于生成的iv和key不同,导致加密结果不同。 可以尝试以下操作:将第一次加密结果记录下来,放到第二次解密,这时由于iv和key不同,必定会抛错。如果将第二次的TripleDESCryptoServiceProvider中iv和key换为第一次的iv和key,则能成功解密。
编程有钱人了 2014-04-28
  • 打赏
  • 举报
回复
秘钥和矢量决定了加密后的字符串,只要秘钥和矢量一样,就是一样的
於黾 2014-04-28
  • 打赏
  • 举报
回复
比如我写一个简单的加密方式,就是字符串的ASCII码+1 先随机生成个密钥1 然后我的明文abcdefg被加密成bcdefgh 将密钥追加到后面变成bcdefgh1 因为密钥长度是固定的,所以解密的时候就从最后往前找,找到1 用1来解密,就行了.
於黾 2014-04-28
  • 打赏
  • 举报
回复
没用过3des加密,不过原理都是一样的 每次随机生成一个密钥,用这个密钥加密,并将密钥追加到密码里 解密的时候先从密码里提取出密钥,然后用这个密钥解密

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧