或者是由Microsoft自定义的算法?我测试了在mac上使用OpenSSL计算的SHA1等价于使用system.security.cryptography.sha1在C#中计算的哈希值。system.security.cryptography.sha1是否使用OpenSSL库的SHA1算法实现?
1
A
回答
4
System.Security.Cryptography.SHA1是一个抽象类。它有三种实现方式:
- SHA1Managed:在纯C#实现
- SHA1CryptoServiceProvider:由Windows 提供一个实现
- SHA1Cng:另一个( “下一代”)实施由Windows
提供因此,不,.NET Framework附带的实现都没有在内部使用OpenSSL。
Mono为这些类提供不同的实现。他们都使用the same implementation这是用纯C#编写的。
你得到相同结果的原因是SHA1算法是确定性的,即它总是对同一输入产生完全相同的结果。
2
微软几乎肯定会有自己的实现。
SHA-1是一个(确定性)散列函数,因此如果将其应用于相同的输入数据,则应该使用两个不同的实现获得相同的结果。如果你不这样做,它不仅仅意味着两个实现是不同的,它也意味着其中一个是bug。
+0
是的,越野车的实施是我的关注。谢谢! – burkestar 2010-09-29 17:21:47
相关问题
- 1. Openssl实现改进的sha1哈希
- 2. 在flex中实现SHA1算法
- 3. 如何使SHA256而不是sha1使OpenSSL?
- 4. 是否可以使用迭代器实现递归算法?
- 5. 是否可以使用python实现火灾探测算法
- 6. SHA1 OpenSSL的分段错误
- 7. 8051 MCU的SHA1实现?
- 8. Openssl的RAND_bytes算法
- 9. 其中是openssl中的SHA1_Init实现
- 10. 使用pari库实现按位运算
- 11. 使用OpenSSL API实现Windows CryptoAPI CryptDeriveKey
- 12. 在Java中实现RSA-SHA1签名算法(创建用于OAuth RSA-SHA1签名的私钥)
- 13. ASP.NET是否使用SHA256或SHA1?
- 14. 是否有一个Java库实现Strassen的矩阵求逆算法?
- 15. SHA1 JavaScript实现了大串
- 16. 是否可以将我们的对称算法添加到OpenSSL?
- 17. Floyd的循环检测算法的实现是否不正确?
- 18. 是否有使用TensorFlow实现异常检测算法的示例?
- 19. 是否有一个使用SqlBulkCopy的替代InsertAllOnSubmit实现的库?
- 20. 是否有一个实现的说话人识别算法
- 21. Java的Set是否实现了UnionFind算法?
- 22. 在Java中是否存在Pohlig-Hellman算法的实现?
- 23. 在图中是否有社区检测算法的实现?
- 24. 实现最大的算法是O(1)
- 25. 使用hexes实现A-Star算法
- 26. 使用BouncyCastle实现TEA算法
- 27. 使用BigInteger实现karatsuba算法错误
- 28. 使用opencv实现消失点算法
- 29. 使用Dijkstra算法实现时间表
- 30. 用foo算法实现hadoop
哇,谢谢。我担心的是执行错误。 – burkestar 2010-09-29 17:22:30