2010-03-06 11 views
0

Je suis un hachage en utilisant sha256 et en le sortant en binaire, et en le stockant dans BINARY de Mysql (32).Problème de stockage binaire Mysql

echo $testsha256 = hash('sha256', "aKyAmNsb", true); 

Cependant, lorsque je récupère cette valeur de la base de données, il est différent

print_r(str_split($returnedpassword)); 
echo "<br>"; 
print_r(str_split($testsha256)); 
echo "<br>"; 

Array ([0] => ú [1] => E [2] => c [3] => [4] => [5] => k [6] => ë [7] => a [8] => Ð [9] => ‰ [10] => V [11] => û [12] => E [13] => [[14] => [15] => Ø [16] => Ý [17] => Q [18] => â [19] => § [20] =>? [21] => [22] => ¾ [23] => ¨ [24] => ÷ [25] => 9 [26] => í [27] => Ž [28] => [ 29] => 5 [30] => [31] =>)

Tableau ([0] => ú [1] => È [2] => c [3] => [4] = > [5] => k [6] => ë [7] => \ [8] => a [9] => Ð [10] => ‰ [11] => V [12] => û [ 13] => E [14] => [[15] => [16] => Ø [17] => Ý [18] => Q [19] => â [20] => ž [21] = >? [22] => [23] => ¾ [24] => ¨ [25] => ÷ [26] => 9 [27] => í [28] => Ž [29] => [30] = > 5 [31] =>)

Comme vous pouvez le voir, le binaire renvoyé par Mysql manque un '\' avant 'a' sur l'index 8. L'index 8 devrait contenir '\', comme c'est le cas dans le $ testsha256, mais le '\' n'est pas présent dans le $ returnresult

+0

Comment insérez-vous les données? Pouvez-vous poster votre code PHP pour l'insertion? –

+0

Semble que quelque chose dans votre chaîne d'outils a heurté certains caractères de contrôle, ou peut-être une conversion d'encodage indésirable s'est produite. Quelle langue utilisez-vous? Qu'est-ce qui est réellement entré dans la base de données ("select hex (value) from table")? – Martin

Répondre

Questions connexes