2010-09-29 55 views

回答

4

System.Security.Cryptography.SHA1是一个抽象类。它有三种实现方式:

提供因此,不,.NET Framework附带的实现都没有在内部使用OpenSSL。

Mono为这些类提供不同的实现。他们都使用the same implementation这是用纯C#编写的。

你得到相同结果的原因是SHA​​1算法是确定性的,即它总是对同一输入产生完全相同的结果。

+0

哇,谢谢。我担心的是执行错误。 – burkestar 2010-09-29 17:22:30

2

微软几乎肯定会有自己的实现。

SHA-1是一个(确定性)散列函数,因此如果将其应用于相同的输入数据,则应该使用两个不同的实现获得相同的结果。如果你不这样做,它不仅仅意味着两个实现是不同的,它也意味着其中一个是bug。

+0

是的,越野车的实施是我的关注。谢谢! – burkestar 2010-09-29 17:21:47