排除crypt()生成的某些字符

时间:2011-09-02 15:11:40

标签: php token crypt

我在PHP中使用crypt()来生成唯一的令牌字符串。我的问题是,生成的一些令牌包括令牌末尾的句点(。),这对于需要将其复制并粘贴到其他地方的用户来说很困惑......有些人认为它是句子的结尾而不是句子的一部分。令牌。

除非我弄错了,否则我不能在运行crypt()后更换句点,因为它将不再是唯一标识符。

有没有办法限制crypt()输出的字符?

3 个答案:

答案 0 :(得分:1)

如果它只是一个随机字符串,请使用random letter generator或查看uniqid

答案 1 :(得分:1)

你有没有想过Sha-1而不是Crypt? 看起来像这样生成一个小令牌。

$str = time().$token;
$result = substr(sha1($str),10)

如果你需要,你可以使用它。

$result = preg_replace('/\./','{DOT}',crypt('mypassword'));

并检索您的初始

str_replace('{DOT}','.',$result)

答案 2 :(得分:0)

根据令牌的最终用途,可以在令牌的开头和结尾添加分隔符,这样对于起点和终点所在的用户来说就更明显了。