c++ - 哈希算法的测试台流程是什么?

标签 c++ unit-testing hash cryptography steganography

假设我编写了一个标准算法的实现,例如 MD* 或 SHA*:我怎么知道它是正确的?相同算法的不同实现必须产生相同的摘要?

最佳答案

引用文档本身包含少量示例案例,可以引用。 (例如,“abc” 的散列在所有引用文档中。)此外,Aaron Gifford 在 http://www.adg.us/computers/sha.html 提供了许多测试用例。 .特别是,他对一些边界情况进行了测试(其中文本恰好是一个 block 的长度,或更少,以及其他几个特殊长度。如果您的实现计算出所有这些的正确值,则有它很有可能是正确的。

关于c++ - 哈希算法的测试台流程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14019827/

相关文章:

python - 即使引发异常,AssertRaises 也会失败

c++ - 将字符串拆分为字符串 vector 时出现无效转换错误

c# - C# 中的 C++ API 和 PInvoke

c++ - C++ 中的虚拟继承,孙子对象的大小很重?

c# - 生成序列的可读单元测试?

Java:XMLUnit.setIgnoreWhitespace(true) 导致奇怪的输出

java - 加盐和散列密码、Java 和 PHP 兼容性

ruby-on-rails - 错误率: FasterCSV to hash

hash - 是否有任何常见的操作系统文件系统使用哈希来避免多次存储相同的内容数据?

c++ - mac 地址的输出格式(C++,stringstream)