在Swift中实现MD5

时间:2016-01-12 13:20:33

标签: swift md5 wep

我在Swift中编写自己的简单MD5实现。我用它来生成WEP密钥。 (要生成128位WEP密钥,您可以使用MD5哈希函数。通过将自身与自身连接,然后通过MD5哈希算法运行,将passhphrase扩展为64字节的长度。)我知道WEP是不安全的,但是限制是我必须从密码短语生成WEP加密密钥。不幸的是,我不会选择使用WPA2。

以下是我的实施。我觉得我的某个地方有一个小错误就是扔掉了整个东西。 如果我尝试从给定字符串生成md5哈希,我就不会生成正确的哈希值。

任何人都知道我的错误在哪里?谢谢你的时间。

以下代码注释:
     - 我创建了一个运算符,用于在md5算法的主循环期间执行循环移位。
     - 我使用索引变量j来跟踪在主循环的每个子循环中传递给函数的{a,b,c,d}中的变量。 (另一种方法是在每次迭代后交换存储在每个变量中的值。)

beeline -u "jdbc:hive2://ip-hive-server-ip separated with hifen>:10000/default;principal=driver-details" -n $USER

1 个答案:

答案 0 :(得分:0)

我注意到这里和那里发生了一些拼写错误:

  • 我的长度计算错了。我应该在结尾的第二个字节中添加两个,然后将其反转。 (我在编写带有字节序和字节交换的问题时非常困惑,所以在原始实现中它只是偏离了。当我在纸上完成算法的一些步骤时,我注意到了。)
    < / LI>
  • G输入错误:它应该是(X&amp; Z )| (Y&amp;(~Z)),我不小心把Y放在了粗体Z的位置

感谢大家的帮助!它现在有效:)