生成SHA1哈希需要多长时间(约60个字节?)
和其他哈希相比?
提前致谢。
答案 0 :(得分:5)
当然,生成哈希所需的实际时间在很大程度上取决于您的硬件,因此无法提供具体的时间。
也就是说,可以指出SHA1哈希算法相对于其他哈希算法的性能。
以下链接提供了许多不同流行哈希算法的性能比较:
MD5 vs. SHA-1, Performance & Pedigree
Performance Comparison: Security Design Choices
(检查大约一半,在“ComputeHash”标题下)
从上一个链接:
ComputeHash
该方法计算存储在文件中的数据的哈希值。我们表演了 数据大小为4 KB,135 KB和1 MB的测试,看看如何 数据大小会影响绩效。
图4.散列算法(4 KB):RPS和响应时间
注意:
.NET Framework支持各种哈希算法,包括MD5,SHA1, SHA256,SHA384和SHA512。各种之间的唯一区别 SHA实现是它们产生的散列大小。我们选择了 在我们的测试中仅包括SHA1和SHA512。我们用了 System.Security.Cryptography,提供各种实现 SHA1和MD5。可用的MD5只有一个实现 System.Security.Cryptography:包装的MD5CryptoServiceProvider CAPI。 SHA256,SHA384和SHA512目前不提供 CryptoAPI的。这些算法直接在托管代码中实现。 添加了这些算法只是为了支持新密钥 AES的生成要求,不提供更强的算法 比SHA1。目前的信念是SHA1绰绰有余 散列数据。对于SHA1和SHA512,我们使用托管实现, 分别提供SHA1Managed和SHA512Managed System.Security.Cryptography。如图4所示,所有算法 性能非常相似,SHA512稍稍落后。 MD5 产生大小为128位的散列。 SHA中的计算过程是 非常模仿MD5。它产生160位散列。