Heim  >  Artikel  >  Datenbank  >  So verwenden Sie die MD5-Verschlüsselung in MySQL

So verwenden Sie die MD5-Verschlüsselung in MySQL

王林
王林nach vorne
2023-05-28 14:16:435117Durchsuche

Was ist MD5?

MD5 Message-Digest Agorithm (englisch: MD5 Message-Digest Agorithm), eine weit verbreitete kryptografische Hash-Funktion, die einen 128-Bit (16-Byte) Hash-Wert (Hash-Wert) erzeugen kann Gewährleistung einer vollständigen und konsistenten Informationsübertragung. MD5 wurde vom amerikanischen Kryptographen Ronald LinnRivest entworfen und 1992 veröffentlicht, um den MD4-Algorithmus zu ersetzen. Das Programm dieses Algorithmus ist im RFC1321-Standard spezifiziert. Nach 1996 wurde bestätigt, dass der Algorithmus Schwachstellen aufweist und geknackt werden kann. Für Daten, die eine hohe Sicherheit erfordern, empfehlen Experten generell die Verwendung anderer Algorithmen, wie beispielsweise SHA-2. Im Jahr 2004 wurde bestätigt, dass der MD5-Algorithmus keine Kollisionen verhindern kann Nicht geeignet für Sicherheitsauthentifizierung, wie z. B. SSL-Authentifizierung mit öffentlichem Schlüssel oder digitale Signaturen.

MD5 erste Erfahrung

So verwenden Sie die MD5-Verschlüsselung in MySQL

Bereiten Sie eine einfache Benutzertabelle in MySQL für Falloperationen vor.

Als nächstes testen Sie verschiedene SQL-Anweisungen:

Normale Einfügeanweisung (Passwort-Klartext):

-- 普通新增语句(明文密码)
insert into user(uname,upass) values ('tom','1001');

Beim Einfügen von Informationen verschlüsseln**:* *

-- 插入时使用MD5 算法加密
insert into user(uname,upass) values ('jack',MD5('1002'));

Ergebnisse abfragen und anzeigen:

So verwenden Sie die MD5-Verschlüsselung in MySQL

Ändern: Verwenden Sie den MD5-Algorithmus, um das Passwort des Kontoadministrators zu ändern.

-- 将原密码换为MD5加密后的密码
update user set upass=MD5(upass) where id =1;
-- 将原密码123456修改为 MD5加密后的密码(666)
update user set upass=MD5('666') where id =2;

Ergebnis:

So verwenden Sie die MD5-Verschlüsselung in MySQL

Alle Passwörter verschlüsseln:

-- 加密全部密码
update user set upass=MD5(upass)

So verwenden Sie die MD5-Verschlüsselung in MySQL# 🎜 🎜#

Bedingte Abfrage zur Verifizierung:

-- 根据账号密码 查询对应账号信息
select * from user where uname='admin' and upass=MD5('123')

So verwenden Sie die MD5-Verschlüsselung in MySQL

-- 测试 将密码修改为666 的账号信息
select * from user where uname='root' and upass=MD5('666')

So verwenden Sie die MD5-Verschlüsselung in MySQL

Das Obige erfolgt über MD5 Der Algorithmus verschlüsselt lediglich einige Informationen in der MySQL-Datenbank, und das spezifische Wissen muss aussortiert werden.

Andere Möglichkeiten in MySQL

(1) PASSWORD()-Funktion:

-- password() 函数加密
update userinfo set password =password('333') where id=6
-- 查询验证
select * from userinfo where password=password('333')

password(str) berechnet die Verschlüsselung aus dem ursprünglichen Klartext und gibt sie zurück Passwortstr Nach der Passwortzeichenfolge wird null zurückgegeben, wenn der Parameter null ist. Die Passwortverschlüsselung ist einseitig und irreversibel.

(2) ENCODE()-Funktion

ENCODE(str, pass_str)-Funktion wird zum Codieren von Klartextzeichenfolgen und zum Zurückgeben von Binärzeichenfolgen nach der Kodierung verwendet.#🎜 🎜##🎜 🎜#

Verwenden Sie pswd_str als Passwort, verschlüsseln Sie str.

str: ​​​​Wird verwendet, um den zu kodierenden Klartext anzugeben

pass_str : Wird verwendet, um eine Kennwortzeichenfolge zum Kodieren einer Klartextzeichenfolge anzugeben. (3) DECODE(crypt_str,pass_str)

Verwenden Sie pswd_str als Kennwort zum Entschlüsseln der verschlüsselten Zeichenfolge. crypt_str ist die von encode zurückgegebene Zeichenfolge ().

-- 字符串
select encode('hello','nice')

So verwenden Sie die MD5-Verschlüsselung in MySQL

-- 字符串和数字
select encode('nihao666','nice')

So verwenden Sie die MD5-Verschlüsselung in MySQL

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die MD5-Verschlüsselung in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen