insert into test(username,pwd) values('Jim',ENCODE('123456','Jim'));
select username from test where username='Jim' and pwd=ENCODE('123456','Jim')
insert into test(username,pwd) values('Ryan',SHA('123456'))
select username from test where username='Ryan' and pwd=SHA('123456')
insert into test(username,pwd) values('Jack',MD5('123456'))
select username from test where username='Jack' and pwd=MD5('123456')
Pourquoi je ne peux pas obtenir un bon résultat en utilisant SHA
et MD5
? Les mots de passe sont tous les deux 123456, mais avec des méthodes de chiffrement différentes je ne peux pas obtenir un bon résultat.mot de passe MySQL Crypter validation
Le premier peut produire "Jim" correctement. Mais le deuxième et le troisième ne peuvent pas sortir "Ryan" ou "Jack", l'ensemble de résultats est null
. Pourquoi? Je veux savoir comment valider un utilisateur par mot de passe crypté.
Il fonctionne pour moi – serans
quel type de champ et la longueur est "passwd"? MD5 et SHA ne sont pas un cryptage mais plutôt un hachage - la différence est que vous pouvez inverser le cryptage, mais un hachage est à sens unique. Ce n'est pas un problème avec votre exemple mais j'ai pensé que je devrais le signaler. – Steve
De plus, les balises "java" et "web" ne sont pas pertinentes à la question – serans