인터넷에서 무작위적이고 고유한 HASH 값을 얻는 방법은 여러 가지가 있지만 대부분 동일합니다.
1. 먼저 임의의 고유 문자열을 가져옵니다
2. MD5 또는 sha1을 사용하여 HASH 값을 계산합니다
해시 값을 사용해야 하는 프로젝트가 있어서 온라인으로 검색해 보았는데, PHP에는 고유한 문자열을 직접 생성할 수 있는 함수인 uniqid()가 있다는 것을 알게 되었습니다. 깨지는 것을 방지), 더 독특하고 추측하기 어렵습니다. 고려해야 할 주요 문제는 다음과 같습니다.
1. 무작위 효율성 및 무작위성: rand 및 mt_rand 함수를 선택할 때 효율성이 높고 무작위성이 좋은 mt_rand가 첫 번째 선택입니다.
2. 무작위 횟수: 5번 선택 Unniqid는 원래 고유합니다. 무작위성을 추가하면 보안이 강화됩니다
3. md5 또는 sha1: 둘 다 고유한 해시 값을 생성할 수 있습니다. sha1의 리소스 소비는 더 높을 수 있지만 데이터베이스 저장소의 소문자를 고려하면 md5(32비트 길이)를 사용할 수 있습니다. >
<?php function get_hash(){ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; $random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times $content = uniqid().$random; // 类似 5443e09c27bf4aB4uT return sha1($content); } echo get_hash(); ?>