MD5 hash avec des résultats différents
Im essayant de coder certaines chaînes de MD5, mais j'ai remarqué que:
Pour la chaîne: "123456çñ"
Certaines toiles comme
www.md5.cz
md5generator.net
retour: "66f561bb6b68372213dd9768e55e1002"
Et d'autres comme:
http://www.adamek.biz/md5-generator.php
7thspace.com/webmaster_tools/online_md5_encoder.html
md5.rednoize.com/
retour: "9e6c9a1eeb5e00fbf4a2cd6519e0cfcb"
J'avais besoin d'encoder les chaînes avec standar md5 parce que j'ai besoin de connecter mes résultats avec d'autres systèmes. qui de hachage est la bonne?
Merci d'avance
source d'informationauteur Encripterrr
Vous devez vous connecter pour publier un commentaire.
Le problème, je suppose que c'est dans les différents encodages de texte. La chaîne vous montrer ne peuvent pas être représentés dans le codage ANSI - il nécessite UTF-16 ou UTF-8. Le choix de l'un de ces derniers conduit à différents octets de la représentation de la chaîne et qui produit des différentes tables de hachage.
Rappelez-vous, le hachage MD5 octets, et non pas des personnages - c'est à vous de la façon de coder les caractères comme des octets avant de nourrir les octets du MD5. Si vous souhaitez interagir avec d'autres systèmes, vous devez utiliser le même encodage que ces systèmes.
Nous permettre d'utiliser Python pour comprendre cela.
Au-dessus de la sortie, nous voyons le codage UTF-8 'ç' et ' -'.
Donc, quand on calcule de hachage MD5 de l'UTF-8 données, nous obtenons le premier résultat.
Ici, nous voyons les points de code Unicode de 'ç' et ' -'.
Donc, lorsque nous avons calculer MD5 hash des données représentées avec les points de code Unicode de chaque caractère de la chaîne (éventuellement ISO-8859-1 codés), nous obtenons le deuxième résultat.
Donc, le premier site est le calcul de la valeur de hachage de l'UTF-8 données, tandis que la seconde ne l'est pas.
Si j'essaie :
Il donne le résultat :
Le premier site d'encoder la chaîne ISO-8859-1 et la seconde en UTF-8.
Je suppose que certains de ces sites ne sont pas correctement la manipulation des caractères non-ascii. Si vous êtes à l'aide d'un md5 de la bibliothèque, alors vous devriez être OK, tant que vous et le système vous vous connectez à s'entendre sur ce que l'encodage de caractères que vous utilisez.
Par la voie, MD5 n'est pas recommandé pour une utilisation plus. Si c'est pour crypto besoins, alors vous devez vraiment être en mouvement pour SHA2.