我今天检查了sha1的二进制参数,但无法将生成的二进制字符串转换为 base 62 表示。
$str = 'mystring';
echo gmp_strval(gmp_init(sha1($str), 16), 62), PHP_EOL; // Works
echo gmp_strval(gmp_init(sha1($str, true), 2), 62), PHP_EOL; // Fails
// Same with base_convert()...
echo base_convert(sha1($str), 16, 32), PHP_EOL; // Works
echo base_convert(sha1($str, true), 2, 32), PHP_EOL; // Fails
结果:
MNun4i9wmY2M2sBvnq5Z8jDi7nk
0
jjhukjbflgg000000000000000000000
0
我想知道是不是因为gmp_init()和base_convert()函数需要一个整数或字符串,而这可能只是二进制数据。