Php 创建随机短字符串[a-zA-Z0-9]+
创建短6个字符、随机和低碰撞概率的最佳方法是什么?我需要创建像bit.ly这样的短链接 md5、sha1、uniqid等的问题是它们不生成大写字符,因此我正在寻找一个区分大小写的输出,以具有更大范围的可能值 我喜欢用在这类事情上: Hashids是一种从数字生成短的、唯一的、非顺序的id的方法 它将347这样的数字转换为“yr8”这样的字符串,或将[27986]这样的数字数组转换为“3kTMd” 您还可以将这些ID解码回来。这对于将多个参数捆绑到一个参数中或将其作为短UID使用非常有用 hashid已经移植到多种语言Php 创建随机短字符串[a-zA-Z0-9]+,php,Php,创建短6个字符、随机和低碰撞概率的最佳方法是什么?我需要创建像bit.ly这样的短链接 md5、sha1、uniqid等的问题是它们不生成大写字符,因此我正在寻找一个区分大小写的输出,以具有更大范围的可能值 我喜欢用在这类事情上: Hashids是一种从数字生成短的、唯一的、非顺序的id的方法 它将347这样的数字转换为“yr8”这样的字符串,或将[27986]这样的数字数组转换为“3kTMd” 您还可以将这些ID解码回来。这对于将多个参数捆绑到一个参数中或将其作为短UID使用非常有用 hash
请注意,尽管名称不同,Hashids并不是一个真正的哈希系统,因为它被设计为可逆的。类似于chrrandom_int65、122的东西,加上对您确切接受的字符的一些处理,可以提供尽可能好的随机性;这是否是一个正确的开始,虽然是有争议的。好主意,但范围应该是48-57,65-90,97-122。你知道怎么做吗?也许我可以使用一个映射数组[0=>'a',1=>'b',…],然后随机输入索引中的任意可能性…生成随机整数,直到你在你想要的范围内得到一个为止,按照你的建议使用一个简单的映射,如果>57加8进入65-90范围,做一点数学运算,否则加7进入97-122范围等等。。