ou est l'algorithme personnalisé mis en œuvre par Microsoft? J'ai testé que SHA1 calculé en utilisant OpenSSL sur mac est équivalent au hachage calculé en C# en utilisant system.security.cryptography.sha1.Est-ce que system.security.cryptography.sha1 utilise l'implémentation de la bibliothèque OpenSSL de l'algorithme SHA1?
Répondre
System.Security.Cryptography.SHA1 est une classe abstraite. Il dispose de trois implémentations:
- SHA1Managed: une implémentation en C# pur
- SHA1CryptoServiceProvider: une implémentation fournie par Windows
- SHA1Cng: une autre ("prochaine génération") mise en œuvre fournis par Windows
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.
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.
oui, la mise en œuvre buggy était ma préoccupation. Merci! – burkestar
- 1. Obtenir le résultat de la fonction OPENSSL SHA1() dans un ARRAY
- 2. openssl, signer (sha1) un message ET faire s/mime
- 3. Générer un hachage SHA en C++ à l'aide de la bibliothèque OpenSSL
- 4. utilise-bibliothèque AndroidManifest.xml
- 5. openssl Calcul CRC32
- 6. openssl cryptage et décryptage en utilisant la bibliothèque evp
- 7. CMake: Bibliothèque partagée qui utilise la bibliothèque statique
- 8. La bibliothèque GD utilise-t-elle beaucoup de mémoire?
- 9. utilise la bibliothèque de classes vC++ dans C#
- 10. Compte SHA1 de NSData
- 11. Quelle est l'équivalent de la bibliothèque Ruby OpenSSL de cette commande?
- 12. SHA1 Utilisation de php et .net
- 13. Convertir SHA1 en chaîne
- 14. openssl, chaîne de certificats d'émetteur
- 15. Signature Scala HMAC-SHA1?
- 16. Certificat Bad OpenSSL
- 17. Bibliothèque partagée Linux qui utilise une bibliothèque partagée non définie
- 18. Sélection de chiffrement de serveur OpenSSL
- 19. PBKDF2-HMAC-SHA1
- 20. Linux/OpenSSL: Envoyer la sortie finds à openssl
- 21. La différence entre openssl-2 et openssl-3
- 22. OpenSSL Ignore Erreur de certificat auto-signé
- 23. iPhone App Review et SHA1
- 24. Est-ce que system.Decimal utilise plus de mémoire que 'decimal'?
- 25. SHA1 Hash on Hex Chaîne
- 26. Utilisation d'une bibliothèque de licences BSD, qui utilise une bibliothèque GPL, pour l'iPhone
- 27. Fonction Sha1 la plus rapide (Linux, jusqu'à 2 Go de fichiers)
- 28. Erreur lors de la compilation d'un projet WinForms qui utilise la bibliothèque SubSonic
- 29. OpenSSL - SSL_CTX_set_default_passwd_cb
- 30. iPhone SHA1 incompatible
wow, merci. ma préoccupation portait sur les erreurs de mise en œuvre. – burkestar