我在 PHP 中使用 crypt() 来生成唯一的令牌字符串。我的问题是生成的某些标记在标记的末尾包含句点 (.),这对于需要将其复制并粘贴到其他地方的用户来说是令人困惑的……有些人将其视为句子的结尾而不是句子的一部分令牌。
除非我弄错了,否则我不能只在运行 crypt() 后替换句点,因为它不再是唯一标识符。
有没有办法限制 crypt() 输出的字符?
您是否对 Sha-1 而不是 Crypt 更感兴趣?看起来像这样来生成一个小令牌。
$str = time().$token;
$result = substr(sha1($str),10)
否则,如果您需要,您可以使用它。
$result = preg_replace('/\./','{DOT}',crypt('mypassword'));
并检索您的初始
str_replace('{DOT}','.',$result)
根据令牌的最终用途,您可以在令牌的开始和结束处添加分隔符,以便用户更清楚开始和端点所在的位置。