Mysql校验数据采用sha512加密


mysql check data in sha512 encryption

我需要通过MYSQL查询和PHP检查sha512加密中的数据

我可以像这样用md5来做:

SELECT * FROM text WHERE md5(id) = '$id'

但是,sha512呢?

mysql 5.5+

SELECT * FROM text WHERE SHA2(id, 512) =  '$id'

更多细节:

SHA2(str, hash_length)

计算SHA-2哈希函数族(SHA-224, SHA-256,SHA-384和SHA-512)。第一个参数是明文字符串to散列。的所需位长度结果,取值为224、256、384、512或0(取值为。相当于256)。如果参数为NULL或哈希长度为如果不是允许的值之一,则返回值为NULL。否则,函数的结果是一个哈希值,其中包含所需的位。请参阅本节开头关于存储的注释

返回值是连接字符中的非二进制字符串集。

mysql> SELECT SHA2('abc', 224);
        -> '23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7'

此功能仅在MySQL已配置SSL时有效支持。参见第6.3.9节"使用SSL进行安全连接"。

SHA2()可以被认为比MD5()或SHA1 () .