可预测的ID是PHP中不可预测的短字符串

时间:2012-07-10 15:39:18

标签: php decode encode

  

可能重复:
  Short 'encryption/hash' in PHP

右,

我需要制作一个ID,例如; 100000001,100000002,100000003使用PHP等可预测的字符串,如PDKJ23HB43

  • 它需要是字母数字。
  • (如果可能)长度必须为5-15个字符。
  • 它需要是可逆的。
  • 它必须是独一无二的。
  • 它不需要是安全的[我不是用它来'加密'任何东西]
  • (如果可能)它不需要数据库来记录映射。
  • 我正在努力做什么?

我认为这与URL变成TinyURL的方式类似,但这只是一个模糊的猜测。

我尝试了一些不同的选项,比如base64,但输出太长了(我知道原因,我找不到更好的解决方案,因为这是我第一次需要做的事情像这样的东西。

感谢帮助人员,非常感谢。对不起,如果我直接问,但这是我可以实现目标的唯一方式。

2 个答案:

答案 0 :(得分:3)

由于您需要这是可逆的,我建议您使用mcrypt。但这会产生间接费用。

如果您不想要可预测的ID,那么为什么不更改系统以使用uniqid()生成随机ID?

答案 1 :(得分:0)

你可以用这个:

echo base_convert(time(), 10, 34).base_convert(rand(), 10, 34);

如果您想要可预测(非安全)ID,请在某处存储一个计数并使用

echo base_convert(mycount, 10, 34);