PHP에서 MD5 암호화의 16비트와 32비트 구현 코드. 많은 분들이 인터넷 검색을 하다가 헷갈려하셨는데, 해결 방법이 맞아서 코드를 기록해 두었습니다.
다음과 같습니다.
<?php echo substr(md5("admin"),8,16); // 16位MD5加密 echo "<hr>"; echo md5("admin"); // 32位MD5加密 ?>
16비트 MD5 암호화는 substr 함수를 사용하여 문자를 가로채는 방식으로 구현됩니다....
더 이상 자세히 다루고 싶지 않습니다 :) 다른 중요한 곳에 집중해야 합니다~~
오늘은 mssql 데이터베이스에 대한 PHP 링크를 만들었습니다. 데이터베이스의 테이블에 있는 필드는 MD516을 사용하여 암호화됩니다. 그러나 PHP의 기본 MD5는 32비트이므로 로그인 프로그램이 md5 암호화를 사용하여 테이블의 필드를 일치시키는 것이 불가능합니다. 나중에 온라인으로 검색할 때 이러한 혼란을 발견했고 해결책을 찾았습니다. , 그래서 녹음했어요.
substr 함수를 사용하여 가로채기:
substr(md5("admin"),8,16) // 16비트 MD5 암호화
md5("admin") // 32비트 MD5 암호화
이 웹사이트의 테스트 결과는 다음과 같습니다.
ASP의 여러 md5 결과를 비교했습니다.
첨부: MD5 암호화 파일을 발견했는데 비밀번호를 모르는 경우 이 세트로 교체하세요. 데이터베이스 데이터의 암호화.
관리자---16비트 암호화---7a57a5a743894a0e
관리자---32비트 암호화---21232f297a57a5a743894a0e4a801fc3
관리자---40비트 암호화---7a57a5a743894a0e4a801fc3 43894a0e4a 801fc3
하위 문자열 (md5(" admin"),8,16); // 16비트 MD5 암호화는 8번째 문자부터 16자로 정확히 위의 32입니다. 따라서 고유성 문제를 고려할 필요가 없습니다. 그 자체로는 정확합니다. 인터넷에서 어떤 사람들은 php5가
을 지원한다고 하는데 코드는 다음과 같습니다.
echo md5("admin",true);//返回16位,不过这是在PHP5里才有。
테스트 후 출력 결과가 깨집니다. 공유할 수 있습니다.
위에서는 totalmediatheatre5의 내용을 포함하여 totalmediatheatre5 php md5의 16비트와 32비트 구현 코드를 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.