2010-09-29 6 views

Répondre

4

System.Security.Cryptography.SHA1 est une classe abstraite. Il dispose de trois implémentations:

Donc, non, aucune implémentation fournie avec .NET Framework n'utilise OpenSSL en interne.

Mono est livré avec différentes implémentations pour ces classes. Ils utilisent tous the same implementation qui est écrit en C# pur.

La raison pour laquelle vous obtenez le même résultat est que l'algorithme SHA1 est déterministe, c'est-à-dire qu'il produit toujours exactement le même résultat pour la même entrée.

+0

wow, merci. ma préoccupation portait sur les erreurs de mise en œuvre. – burkestar

2

Microsoft a presque certainement sa propre implémentation.

SHA-1 est une fonction de hachage (déterministe), vous devriez donc obtenir les mêmes résultats avec deux implémentations distinctes si vous l'appliquez aux mêmes données d'entrée. Si vous ne le faites pas, cela ne signifie pas seulement que les deux implémentations sont distinctes, cela signifie également que l'une d'elles est buggée.

+0

oui, la mise en œuvre buggy était ma préoccupation. Merci! – burkestar

Questions connexes