http://www.vidyasocks.com/forums.php?id=1&id=1
正如您在底部看到的,我使用散列作为标识用户的一种方法。如何裁剪10个字符后的其余部分?
发布于 2012-04-30 16:55:42
修剪运行哈希冲突的风险,其中两个用户可能共享相同的修剪部分。
http://en.wikipedia.org/wiki/Collision_(computer_science
哈希算法竭尽全力避免这种可能性,因此不建议以任何方式修改哈希结果。
发布于 2012-04-30 16:50:17
使用substr()
echo substr($str, 0, 10);演示:
>>> $hash = md5('whatever');
>>> echo $hash;
008c5926ca861023c1d2a36653fd88e2
>>> echo substr($hash, 0, 10);
008c5926ca如果您希望在SELECTing散列时在数据库中执行此操作,可以使用MySQL的LEFT函数:
mysql> SELECT LEFT('008c5926ca861023c1d2a36653fd88e2', 10);
+----------------------------------------------+
| LEFT('008c5926ca861023c1d2a36653fd88e2', 10) |
+----------------------------------------------+
| 008c5926ca |
+----------------------------------------------+
1 row in set (0.00 sec)发布于 2012-04-30 16:51:18
使用substr()
$hash = substr($hash,0,10);https://stackoverflow.com/questions/10380837
复制相似问题