我需要通过MYSQL查询和PHP
检查sha512加密中的数据我可以通过md5这样做:
SELECT * FROM text WHERE md5(id) = '$id'
但是,在sha512怎么样?
此致
答案 0 :(得分:5)
mysql 5.5 +
SELECT * FROM text WHERE SHA2(id, 512) = '$id'
计算SHA-2系列散列函数(SHA-224,SHA-256, SHA-384和SHA-512)。第一个参数是明文字符串 哈希。第二个参数表示所需的位长度 结果,其值必须为224,256,384,512或0(即 相当于256)。如果任一参数为NULL或哈希长度为 不是允许值之一,返回值为NULL。除此以外, 函数结果是包含所需数量的哈希值 位。请参阅本节开头有关存储的说明 哈希值有效。
返回值是连接字符中的非二进制字符串 集。
mysql> SELECT SHA2('abc', 224);
-> '23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7'
仅当MySQL配置了SSL时,此功能才有效 支持。请参见第6.3.9节“使用SSL进行安全连接”。
可以认为SHA2()在加密方面比MD5()或更安全 SHA1()。