用于创建 8 个字符长散列的 PHP 函数([a-z] = 不允许使用数字)

标签 php hash

我需要 PHP 函数,该函数将从任何输入字符串创建 8 个字符长的 [a-z] 散列。 所以例如当我提交“Stack Overflow”时,它会返回,例如“gdqreaxc”(8 个字符 [a-z] 不允许使用数字)

最佳答案

也许是这样的:

$hash = substr(strtolower(preg_replace('/[0-9_\/]+/','',base64_encode(sha1($input)))),0,8);

这会生成一个 SHA1 哈希,对其进行 base-64 编码(为我们提供完整的字母表),删除非字母字符,将其小写并截断。

对于 $input = 'yar!';:

mwinzewn

对于 $input = 'yar!!';:

yzzhzwjj

所以传播看起来不错。

关于用于创建 8 个字符长散列的 PHP 函数([a-z] = 不允许使用数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197885/

相关文章:

php - Codeigniter - 检测浏览器的最佳方法

php - substr 不适用于 utf8

java - 如何在android中获取web服务的所有权限?

c# - 使用C#HashSet解决等不等的问题

arrays - 如何将带有 'array' 键的 ruby​​ 哈希转换为 Ruby 中的嵌套哈希?

c++ - 字符串的哈希函数

php - 在 Symfony 中发布日期?

php - Yii2 - gridview 过滤器 unix 时间戳

c# - 计算 MD5 值对于不同的字符串返回 "0001..0E0F"

php - 生成用于创建密码检索 token 的随机 "site salt"的好方法是什么?