0

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

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

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

4

3 回答 3

1

如果它只是一个随机字符串,请使用随机字母生成器或查看uniqid

于 2011-09-02T15:21:48.043 回答
1

您是否对 Sha-1 而不是 Crypt 更感兴趣?看起来像这样来生成一个小令牌。

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

否则,如果您需要,您可以使用它。

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

并检索您的初始

str_replace('{DOT}','.',$result)
于 2011-09-02T15:26:01.333 回答
0

根据令牌的最终用途,您可以在令牌的开始和结束处添加分隔符,以便用户更清楚开始和端点所在的位置。

于 2011-09-02T15:27:09.373 回答