首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修剪散列密码(用于用户身份识别)

修剪散列密码(用于用户身份识别)
EN

Stack Overflow用户
提问于 2012-04-30 16:49:40
回答 3查看 101关注 0票数 0

http://www.vidyasocks.com/forums.php?id=1&id=1

正如您在底部看到的,我使用散列作为标识用户的一种方法。如何裁剪10个字符后的其余部分?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-30 16:55:42

修剪运行哈希冲突的风险,其中两个用户可能共享相同的修剪部分。

http://en.wikipedia.org/wiki/Collision_(computer_science

哈希算法竭尽全力避免这种可能性,因此不建议以任何方式修改哈希结果。

票数 0
EN

Stack Overflow用户

发布于 2012-04-30 16:50:17

使用substr()

代码语言:javascript
复制
echo substr($str, 0, 10);

演示:

代码语言:javascript
复制
>>> $hash = md5('whatever');
>>> echo $hash;
008c5926ca861023c1d2a36653fd88e2
>>> echo substr($hash, 0, 10);
008c5926ca

如果您希望在SELECTing散列时在数据库中执行此操作,可以使用MySQL的LEFT函数:

代码语言:javascript
复制
mysql> SELECT LEFT('008c5926ca861023c1d2a36653fd88e2', 10);
+----------------------------------------------+
| LEFT('008c5926ca861023c1d2a36653fd88e2', 10) |
+----------------------------------------------+
| 008c5926ca                                   |
+----------------------------------------------+
1 row in set (0.00 sec)
票数 1
EN

Stack Overflow用户

发布于 2012-04-30 16:51:18

使用substr()

代码语言:javascript
复制
$hash = substr($hash,0,10);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10380837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档