创建随机短字符串[a-zA-Z0-9] +

时间:2016-12-15 14:23:11

标签: php

创建短(6个字符),随机且具有低碰撞概率的最佳方法是什么?我需要创建像bit.ly这样的短链接。

md5,sha1,uniqid等问题是它们不会生成大写字符,因此我正在寻找区分大小写的输出以获得更广泛的可能值... < / p>

1 个答案:

答案 0 :(得分:1)

我喜欢使用Hashids来做这件事:

  

Hashids是small open-source library,它可以从数字生成简短,唯一,非连续的ID。

     

它将像347这样的数字转换为像“yr8”这样的字符串,或者像[27,986]这样的数字数组转换为“3kTMd”。

     

您还可以解码这些ID。这可以将多个参数捆绑到一个参数中,或者简单地将它们用作短UID。

Hashids已被移植到多种语言including PHP

(请注意,尽管有名称,Hashids并不是真正的哈希系统,因为它的设计是可逆的。)