如何在PHP中使用一些特殊规则生成哈希字符串?
-
02-10-2019 - |
题
我正在研究一个项目,我需要使用一些哈希功能来制作哈希字符串。该哈希字符串应该是唯一的,由6至13个字符(固定长度)组成。
我使用数据库存储数据,因此对于每个记录,我都有一个唯一的ID。我想使用此独特的ID来制作哈希字符串(以实现所得的哈希字符串的独特性)。
我需要此哈希字符串仅由有效字符(0-9 AZ AZ)组成。
我应该使用哪个哈希功能来实现此目标?如何产生这样的哈希字符串?
稍后添加:我想生成此字符串并将其传递给用户,因此他可以稍后再回来编辑该条目。任何其他想法都是可以接受的。
解决方案
使用crypt:
$hash = crypt("somevaluetohash", $uniqueid);
唯一的ID是盐,因此您可以根据ID生成不同的值。因此,如果一个用户的密码为“ somevaluetohash”,而另一个用户则具有相同的密码,则结束哈希将不会相同。
其他提示
<?php
$id;
$hash_full = md5($id); //hash('sha256', $id);
$hash_cropped = substr($hash_full, 0, 6);
?>
采用 哈希() 对于其他哈希算法。
但是,您需要什么?对我来说,从ID中生成哈希并不是很有意义,您不能只是使用ID吗?
不隶属于 StackOverflow