MD5 Message-Digest Agorithm(영어: MD5 Message-Digest Agorithm)은 널리 사용되는 비밀번호 해시 함수로 128비트(16바이트) 해시 값(해시 값)을 생성할 수 있으며, 이는 정보 전송이 완료되고 일관된. MD5는 미국 암호학자 Ronald LinnRivest가 설계했으며 MD4 알고리즘을 대체하기 위해 1992년에 공개되었습니다. 이 알고리즘의 프로그램은 RFC1321 표준에 지정되어 있습니다. 1996년 이후에는 알고리즘에 약점이 있고 크랙이 발생할 수 있다는 것이 확인되었으며, 높은 보안이 필요한 데이터의 경우 전문가들은 일반적으로 SHA-2와 같은 다른 알고리즘을 사용하는 것이 좋습니다. 2004년에는 MD5 알고리즘이 충돌을 방지할 수 없다는 것이 확인되었습니다. SSL 공개 키 인증이나 디지털 서명과 같은 보안 인증에는 적합하지 않습니다.
케이스 작업을 위해 mysql에서 간단한 사용자 테이블을 준비합니다.
다음으로 다양한 sql 문 테스트:
일반 삽입 문(비밀번호 일반 텍스트):
-- 普通新增语句(明文密码) insert into user(uname,upass) values ('tom','1001');
정보 삽입 시 암호화**: **
-- 插入时使用MD5 算法加密 insert into user(uname,upass) values ('jack',MD5('1002'));
쿼리 보기 결과:
수정: MD5 알고리즘 사용 변경 계정 관리자의 비밀번호.
-- 将原密码换为MD5加密后的密码 update user set upass=MD5(upass) where id =1; -- 将原密码123456修改为 MD5加密后的密码(666) update user set upass=MD5('666') where id =2;
결과:
모든 비밀번호 암호화:
-- 加密全部密码 update user set upass=MD5(upass)
조건부 쿼리, 확인:
-- 根据账号密码 查询对应账号信息 select * from user where uname='admin' and upass=MD5('123')
-- 测试 将密码修改为666 的账号信息 select * from user where uname='root' and upass=MD5('666')
위는 MD5 알고리즘을 사용하는 간단한 방법입니다. 일부 정보에 mysql 데이터베이스 암호화, 특정 지식을 정리해야 합니다.
(1) PASSWORD() 함수:
-- password() 函数加密 update userinfo set password =password('333') where id=6 -- 查询验证 select * from userinfo where password=password('333')
password(str)는 원래 일반 텍스트 비밀번호 str에서 암호화된 비밀번호 문자열을 계산하고 반환합니다. 매개변수가 null이면 null이 반환됩니다. 비밀번호 암호화는 단방향이며 되돌릴 수 없습니다.
(2) ENCODE() 함수
ENCODE(str, pass_str) 함수는 일반 텍스트 문자열을 인코딩하고 인코딩 후 바이너리 문자열을 반환하는 데 사용됩니다.
str을 암호화하려면 pswd_str을 비밀번호로 사용하세요.
str:입니다. 인코딩할 일반 텍스트를 지정하는 데 사용됩니다.
pass_str: 일반 텍스트 문자열을 인코딩하기 위한 비밀번호 문자열을 지정하는 데 사용됩니다.
-- 字符串 select encode('hello','nice')
-- 字符串和数字 select encode('nihao666','nice')
(3) DECODE(crypt_str,pass_str)
사용 pswd_str은 암호화된 문자열 crypt_str을 해독하기 위한 비밀번호입니다. crypt_str은 encode()에서 반환된 문자열입니다.
select DECODE('nihao666','nice')
-- 使用decode函数解密encode加密的字符串 select DECODE(ENCODE('nihao666','nice'),'nice');
위 내용은 MySQL에서 MD5 암호화를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!