我想生成令牌,将其用作登录身份验证,因此我想确保令牌算法加密强大!
我正在使用这段代码来实现:
$crypto_strong = false;
while($crypto_strong !== false)
$openssl =openssl_random_pseudo_bytes(128,$crypto_strong);
$token = bin2hex($openssl);
是正确的吗?
答案 0 :(得分:0)
阅读the docs,它将$crypto_strong
参数描述为:
如果传入函数,这将包含一个布尔值,用于确定所使用的算法是否为“加密强度”,例如,使用GPG,密码等是否安全 TRUE 如果有,否则 FALSE
$crypto_strong
的值将针对特定系统进行修复。因此,如果您的系统没有使用强大的算法,您的代码将进入无限循环。
根据那些相同的文档," 它很少见,但是有些系统可能会被破坏或者旧的"。所以听起来你不太可能遇到虚假价值的例子。也许在这些情况下,中止程序并向用户提出错误会更合适。
我对你的背景用例并不完全清楚,所以我不知道这种一般方法对你来说是否正确。但肯定你发布的代码是错误的。