Chr*_*nch 6 mysql mysql-5 security encryption
我希望为 MySQL 中的密码重置生成一个加密安全的字符串。我知道我可以在 PHP 的应用程序级别执行此操作;但这需要我的许多客户可能没有的 OpenSSL 扩展。
如果我能以一种广泛可用的安全方式在 MySQL 5 中做到这一点,那将是理想的。这可能吗?
注意:这是为了生成密码重置的安全令牌。它与安全连接没有任何关系,因此使用 https 不是解决方案。
mySQL 中有许多可用的加密方法。
如果您需要双向加密,您可以使用aes_encrypt
附带的aes_decrypt
如果您只需要一个安全哈希那么您可以使用sha2
以下语句可以获得与以下类似的结果openssl_random_pseudo_bytes
SELECT HEX(SHA2(CONCAT(NOW(), RAND(), UUID()), 512));
Run Code Online (Sandbox Code Playgroud)
上面的语句将其与和 aNOW()
连接起来,然后对结果执行 512 位加密,然后将其转换为RAND()
UUID()
SHA2()
HEX()