>  기사  >  백엔드 개발  >  PHP md5 암호화가 깨질 수 있나요?

PHP md5 암호화가 깨질 수 있나요?

PHPz
PHPz원래의
2017-03-15 10:36:276354검색

우리가 PHP 웹사이트 개발에 사용하는 암호화 기술은 MD5이므로 MD5 암호화 알고리즘을 사용하면 크랙이 가능합니까 아니면 md5 암호화를 되돌릴 수 있습니까 ? 먼저 일반적으로 사용되는 두 가지 PHP 데이터 암호화 기술을 살펴보겠습니다.
PHP 데이터 암호화 기술

Md5() 및 Sha1() 암호화 알고리즘은 단방향, 원본 일반 텍스트 데이터를 가져오는 역방향 기능이 없습니다

알고리즘 호출:

string md5 ( string $str [, bool $raw_output = false ] )

string Sha1 ( string $str [, bool $raw_output = false ] )

매개변수

str

원시 문자열.

raw_output

선택적 raw_output이 TRUE로 설정된 경우 MD5 보고서 텍스트 요약은 길이가 16바이트인 원시 이진 형식으로 반환됩니다.

반환 값

MD5()를 32자의 16진수로 반환합니다. 해시 값.

Sha1()은 해시 값을 40자의 16진수로 반환합니다.


$p = "123456";
에코 md5($p);
?>

출력은 다음과 같습니다.

e10adc3949ba59abbe56e057f20f883e

그러나 이런 식으로 md5() 함수를 사용하는 것은 매우 안전하지 않습니다. Baidu에서 md5 암호 해독을 하면 해독된 웹사이트를 찾을 수 있습니다:

위와 같이 md5() 함수를 직접 사용하는 것은 안전하지 않다는 것을 알 수 있다. md5 알고리즘은 되돌릴 수 없지만 동일한 문자 문자열에 대한 계산 결과가 고유하기 때문에 일부 사람들은 "사전 공격"을 사용하여 md5 암호화 시스템을 깨뜨릴 수 있습니다. 이것은 무차별 암호 해독이지만 대부분 시스템의 사용자 비밀번호가 그리 길지 않아 md5로 인코딩된 최종 데이터가 일부 웹사이트를 통해 해독될 수 있기 때문에 매우 효과적입니다.

분명히 md5() 알고리즘을 직접 사용할 만큼 복잡하지는 않습니다. , 코드를 다음과 같이 수정합니다.


$p = "123456";
에코 md5(md5($p ).md5($p));
?>

인쇄 결과:

efd52a4f82c94f80f13671ebd7cd2a6d

바로가기 크랙할 웹사이트:

분명히 그의 결과는 잘못되었습니다. 비밀번호는 123456입니다. 영.

md5() 함수를 기반으로 하는 다계층 md5() 알고리즘을 통해 암호화할 수 있습니다. 단방향이기 때문에 웹사이트가 왜 크랙될 수 있는지 궁금하실 수도 있습니다. 사실 웹사이트에서 가장 좋은 것은 무차별 대입 크래킹입니다. 그들은 지속적으로 다양한 코드와 비밀번호를 저장한 다음 이를 일치시켜 마침내 비밀번호를 얻습니다.

구체적인 MD5 크래킹 방법은 다음을 참조하세요. php md5 암호 해독 코드 공유(부속 인터페이스, 개인 테스트 가능)

관련 기사:

php md5를 복호화할 수 있나요?

php md5 암호화 및 복호화 알고리즘과 도구(코드 포함)

MD5 암호화 도구

위 내용은 PHP md5 암호화가 깨질 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.