【发布时间】:2015-10-21 23:53:07
【问题描述】:
我正在考虑使用JS MD5 implementation。
但我注意到只有几个测试。有没有很好的方法来验证实现是否正确?
我知道我可以尝试几个不同的值,看看它是否有效,但这仅意味着它对于某些输入是正确的。我想看看它是否适用于所有输入。
【问题讨论】:
-
these Test Cases MD5 应该提供对工作实现的充分覆盖。但是,您根本不应该使用 MD5,因为它不安全。
-
无法测试任何应用程序并确保它适用于所有输入。你只需要尝试足够多的不同输入来说服自己。如果您使用几 MB 的随机数据测试您的代码,那么错误的实现就不太可能成功。
-
@BSeven 是否要求生成包含 32 个字母数字字符且不重复的唯一字符串?
-
您正在寻找formal verification,这比测试要复杂得多。而且我不知道有什么框架可以和 Js 一起工作。
-
从一个众所周知的实现中生成一堆原始值和散列值,然后验证是否生成了相同的东西。或者,只是将他们的测试移植到他们的实施中,看看你的表现如何。
标签: javascript md5 digest