Y a-t-il une chance qu'un hachage SHA-1 soit uniquement numérique, ou l'algorithme garantit-il qu'il doit y avoir au moins un caractère alphabétique?
Modifier: Je le représente en base 16, en tant que chaîne retournée par la fonction sha1() de PHP.
Y a-t-il une chance qu'un hachage SHA-1 soit uniquement numérique, ou l'algorithme garantit-il qu'il doit y avoir au moins un caractère alphabétique?
Modifier: Je le représente en base 16, en tant que chaîne retournée par la fonction sha1() de PHP.
Techniquement, un hash SHA1 est un numéro, il est juste le plus souvent encodé en base 16 (ce que fait sha1() en PHP) de sorte qu'il a presque toujours une lettre en lui. Cependant, cela n'est pas garanti.
Les chances qu'un numéro de 160 bits encodé en hexadécimal n'ait pas de chiffres A-F sont (10/16)40 ou environ 6.84227766 × 10-9
Le hachage SHA-1 est un nombre de 160 bits. Pour faciliter son écriture, il est généralement écrit en hexadécimal. Les chiffres hexadécimaux (base 16) sont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e et f. Il n'y a rien de spécial à propos des lettres. Chaque caractère hexadécimal équivaut à 4 bits, ce qui signifie que le hachage peut être écrit en 40 caractères.
Je ne crois pas qu'il y ait de raison pour laquelle un hachage SHA-1 ne peut pas avoir de lettres, mais c'est improbable. C'est comme générer un nombre aléatoire de 40 chiffres (base 10) et ne pas obtenir de 7, 8 ou 9.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.