我想创建一个独特的ID但是uniqid()给出类似的东西'492607b0ee414'.我想要的是类似于tinyurl给出的东西:'64k8ra'.越短越好.唯一的要求是它不应该有明显的顺序,它应该看起来比看似随机的数字序列更漂亮.字母比数字更受欢迎,理想情况下不会是混合字母.由于参赛人数不会那么多(最多10000人左右),因此碰撞的风险并不是一个很大的因素.
任何建议赞赏.
这是故事:
我必须将一些机密信息从一个脚本传递到另一个脚本.在第一个脚本中,我需要先加密数据,然后我必须将加密数据附加到GET请求中并将其发送到另一个脚本.URL将如下所示:
http://mydomain.com/mysecondscript.php?secret={encrypted stuff}
Run Code Online (Sandbox Code Playgroud)
我目前的加密方法基于base64.这种方法的问题是,如果我有很多要加密的东西,加密的结果可能会变得很长.如果它超过255个字符左右,则第二个脚本将无法解密它,因为字符串将被切断.
所以我正在寻找一种更好的加密方法,可以控制加密结果的长度.
我正在使用mysql数据库自动增量作为订单ID.当我向用户显示订单ID时,我想以某种方式掩盖/混淆它.
为什么?
基于这个答案,我希望屏蔽/混淆的订单ID为:
我将如何在PHP中实现这一目标?它不一定非常复杂,乍一看它并不明显.