生成电子邮件确认的确认码

2024-03-09

使用 PHP,有哪些方法可以生成可以存储在数据库中并用于电子邮件确认的随机确认码?我一辈子都想不出一种方法来生成可以从用户的个人资料中生成的唯一号码。这样我就可以使用一个函数使数字足够小以包含在 URL 中(看到这个链接 http://kevin.vanzonneveld.net/techblog/article/create_short_ids_with_php_like_youtube_or_tinyurl/)。请记住,用户必须单击链接来“确认/激活”他/她的帐户。如果我不能使用数字,那么使用字母和数字也没有问题。

话虽如此,我尝试将用户名与“盐”一起进行哈希处理以生成随机代码。我知道一定有更好的方法,所以让我们听听。


$random_hash = md5(uniqid(rand(), true));

这将是 32 个字母数字字符长并且是唯一的。如果你想让它更短,只需使用 substr():

$random_hash = substr(md5(uniqid(rand(), true)), 16, 16); // 16 characters long

生成随机数据的替代方法包括:

$random_hash = md5(openssl_random_pseudo_bytes(32));
$random_hash = md5(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));

// New in PHP7
$random_hash = bin2hex(random_bytes(32));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成电子邮件确认的确认码 的相关文章

随机推荐