【问题标题】:iOS 3DES encryption with md5 key使用 md5 密钥的 iOS 3DES 加密
【发布时间】:2013-01-13 23:27:24
【问题描述】:

请你帮帮我。

我开发了一个 iOS 应用程序。我尝试使用 3DES 算法加密字符串,但发现与 Java 代码不同的结果。密钥应为 md5,大小为 24 字节。我的朋友用 Java 加密了明文,他得到了一个加密的 base64 字符串。但我得到不同的结果。 :(

我哪里出错了?

【问题讨论】:

    标签: ios objective-c encryption md5 3des


    【解决方案1】:

    md5 输出 128 位(16 字节)散列,而 3DES 采用 168 位(21 字节)密钥。我怀疑将 md5 哈希传递到您的加密和/或解密算法会导致沿途发生一些填充。

    最好使用 SHA256(输出 256 位哈希)并将输出截断为 168 位,或者使用 AES-256 而不是 3DES,并将完整的 256 位哈希作为密钥。比这更好的是使用正确的密钥派生函数,如PBKDF2,从字符串密码创建密钥。

    【讨论】:

      猜你喜欢
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 2016-10-15
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多