首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MD4和MD5加密的区别

MD4和MD5加密的区别
EN

Stack Overflow用户
提问于 2014-10-27 09:47:26
回答 2查看 2.4K关注 0票数 0

在编码过程中,我使用了MD4和MD5加密技术。但他们之间并没有任何明显的安全差别。然而,他们中的大多数人更喜欢MD5,实际上是指定它。MD5:

代码语言:javascript
复制
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();

byte[] TDESKey = null;

TDESKey = HashProvider.ComputeHash(UTF8.GetBytes("CXPUB001"));  // ASYNC PRIVATE KEY CODE FOR DATA ENCRYPTION

//DATA ENCRYPTION 
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
TDESAlgorithm.Key = TDESKey; //SENDER KEY APPENDED
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
byte[] DataToEncrypt = UTF8.GetBytes(Message);

那么,在安全性方面,使用MD4和MD5有什么区别呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-27 10:05:13

MD4和MD5都不是加密,而是一个产生128位哈希值的散列函数。如果您需要加密,请使用适当的加密技术,如AES

为了添加到MD5的“安全性”方面,它被宣布为不可用,因为有几个漏洞可能导致散列碰撞,最糟糕的是,使用彩虹表将密文逆转回原来的值。如果您需要散列,请使用沙二

票数 2
EN

Stack Overflow用户

发布于 2014-10-27 10:04:22

MD5于1991年被设计成一个安全的替代品。(汉斯·多伯汀后来确实在MD4中发现了弱点

MD4的安全性已经严重受损。1995年发布了第一次针对MD4的全面碰撞攻击,此后又发布了几次较新的攻击。从2007年起,攻击可以在少于2个MD4哈希操作中产生冲突。

以下是MD4和MD5之间的区别:

  1. 已经增加了第四轮。
  2. 现在每个步骤都有一个唯一的加性常数。
  3. 第二轮中的函数g由(XY V XZ V YZ)变为(XZ v Y not(Z)),使g不对称。
  4. 现在,每个步骤都会添加上一步的结果。这促进了更快的“雪崩效应”。
  5. 在第2轮和第3轮中访问输入单词的顺序被改变,以减少这些模式之间的相似性。
  6. 每一轮的移动量都经过了近似优化,从而产生了更快的“雪崩效应”。不同回合的变化是不同的。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26584765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档