Je travaille en C # et MSSQL et comme vous vous en doutez, je stocke mes mots de passe salés et hachés.
Quand je regarde le hachage stocké dans une colonne nvarchar (par exemple le fournisseur d'adhésion aspnet out the box). J'ai toujours été curieux de savoir pourquoi les valeurs générées de sel et de hachage semblent toujours se terminer par un ou deux signes égaux.
J'ai vu des choses similaires en travaillant avec des algorithmes de chiffrement, est-ce une coïncidence ou y a-t-il une raison à cela?
Ces chaînes hachées sont (généralement?) Codées au format Base64 et le signe égal est utilisé pour remplir la chaîne pour rendre la longueur (nombre d'octets) divisible par trois. Wikipedia l'explique assez bien: http://en.wikipedia.org/wiki/Base64 .
Serait-ce un rembourrage d'encodage Base 64?
La séquence '==' indique que le dernier groupe ne contenait qu'un octet, et '=' indique qu'il contenait deux octets. L'exemple ci-dessous illustre comment la troncature de l'entrée de l'ensemble de la citation ci-dessus modifie le remplissage de sortie: