MD5 d'une "chaîne"
Le
Pierre G
Bonjour,
je souhaite créer "le MD5" d'une chaîne et souhaite avoir
comme résultat une chaîne de 16 caractères. J'utilise
pour cela le module Digest::MD5 et la méthode md5
le problème est que le résultat comporte des caractères accentués et parfois des retours à la ligne
1) y a -t-il un moyen pour que la résultat de la méthode
md5 ne comporte plus de caractères accentués?
2) La méthode md5_hex retourne une chaine de 32 caratères et sans caratères accentués (c'est un peu long)
y a-t-il une option pour imposer une "longeur" pour la chaine retournée?
Pierre.
________________________________________________________________
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/
je souhaite créer "le MD5" d'une chaîne et souhaite avoir
comme résultat une chaîne de 16 caractères. J'utilise
pour cela le module Digest::MD5 et la méthode md5
le problème est que le résultat comporte des caractères accentués et parfois des retours à la ligne
1) y a -t-il un moyen pour que la résultat de la méthode
md5 ne comporte plus de caractères accentués?
2) La méthode md5_hex retourne une chaine de 32 caratères et sans caratères accentués (c'est un peu long)
y a-t-il une option pour imposer une "longeur" pour la chaine retournée?
Pierre.
________________________________________________________________
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/

Poser une question


Un MD5, ça fait 128 bits, donc 32 chiffres hexadécimaux, il n'y a pas à en
sortir, sinon ce n'est plus un MD5. On peut éventuellement utiliser du
base64, qui code 6 bits par caractère (contre 4 en hexadécimal) : un MD5
s'écrira en base64 comme 22 caractères. Il y aurait bien la base85, qui
permettrait de coder en 20 caractères, mais ce n'est pas très usité.
Le but est d'avoir à comparer des chaînes de longeur fixe au lieu de comparer
des chaines de longeur inconnues (à priori).
Je ne veux pas impérativement utiliser du MD5
Je souhaite, pour chaque chaîne, créer une nouvelle chaine de longeur
fixe (avec le moins de risque de collision) une sorte de clé
et ensuite utiliser ces clés (de longeur fixe) afin de comparer
les chaines d'origine.
J'espère être clair.
Pierre.
________________________________________________________________
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/
Eh bien utilise le MD5 en hexa ou en base64 (hexa est plus facile parce
qu'il n'y a pas de différence majuscules/minuscules et pas de caractères
non-alphanumériques, mais moins dense), et tronque-le à la longueur que tu
veux. Il faut juste être conscient que plus la chaîne est courte, et plus il
y a de risques de collision par simple hasard.