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
Comment insérez-vous les données? Pouvez-vous poster votre code PHP pour l'insertion? –
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