Comment voir les oiginal de données via décrypter dans mysql?
Je crypté mon champ de mot de passe et l'a inséré dans une table MySQL.
Après que j'ai déchiffré cette colonne par
select fld_user,fld_pwd,AES_DECRYPT(fld_encryptedpwd,'key')
from users
where fld_id='1903';
Mais, le résultat est faire preuve de "BLOB". J'ai utilisé Varbinary() comme le type de données chiffrées de la colonne. Ce que je dois faire ?
- Vous ne mentionnez pas " où " il en montrant comme BLOB. Qui version de MySQL?
- Aussi, vous ne devez pas utiliser AES_ENCRYPT() pour stocker un mot de passe. Vous devez utiliser un hachage unidirectionnel comme au moins SHA-1. Cryptage de est petit plus que de les stocker en texte clair une fois que les gens d'obtenir la clé.
- BLOB est indiqué dans mon champ de sortie, je ne pouvais pas utiliser Un moyen de hachage. Parce que, Parfois j'ai besoin de déchiffrer le champ mot de passe
- Je n'ai toujours aucune idée de ce que tu veux dire avec "sortie le terrain" et, lorsque cela est indiqué. Quel outil utilisez-vous?
- Je suis de l'utilisation de MySQL workbench. Alors que je suis à l'exécution de la requête "select fld_user,fld_pwd,AES_DECRYPT(fld_encryptedpwd,'key') from users where fld_id='1903';" il est de retour BLOB
Vous devez vous connecter pour publier un commentaire.
Solution pour MySQL Workbench est de faire basculer l'option suivante pour l'Éditeur SQL: "Traiter BINAIRE/VARBINARY comme non binaire chaîne de caractères." Au moins sur MacOS X, vous aurez besoin de redémarrer Workbench pour l'option de prendre effet. (Vous pouvez aussi faire un clic droit sur la valeur et faire "Ouvrir Valeur dans Viewer').
Si vous ne voulez pas modifier les options dans Workbench, vous pouvez utiliser le CAST() fonction pour renvoyer le résultat de AES_DECRYPT() comme une chaîne de caractères:
Un truc à vérifier et assurez-vous que ce type de données d'une fonction de retour est à effectuer les opérations suivantes à l'aide de la base de la CLI:
Qui indique le type de données sera retourné.
(Encore une fois, le stockage des mots de passe cryptés: pas si bon.)