我需要哈希查找16位数字。我曾使用sha256进行哈希,但它不会产生整数,因此我需要短小于10的哈希值。请问有什么建议吗?谢谢
我的代码:
$string ="8415056864756021";
$hash_string =hash('sha256', $string);
答案 0 :(得分:0)
PHP中的MD5或SHA1哈希返回十六进制数,因此您需要做的就是转换碱基。 PHP有一个函数hexdec()可以为你做这个。并且取前10个字符(或少于10个字符)的子字符串将解决你的问题。
$smallnum = hexdec( substr(sha1("value"), 0, 10) );
或
$smallnum = hexdec( substr(md5("value"), 0, 10) );