SHA
功能描述
SHA/SHA1 函数将 string 使用 SHA1 加密,并以 16 进制数作为返回值,SHA 和 SHA1 函数功能相同。
SHA2 函数将 string 使用 SHA2 加密,并以 16 进制数作为返回值。
SHA1加密算法安全性低,存在安全风险,不建议使用。
注意事项
该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
返回值类型
text
语法格式
SHA/SHA1
sha(string) sha1(string)
SHA2
sha2(string,hash_length)
参数说明
string
字符串。
hash_length
对应相应的 SHA2 算法,可选值为 0(SHA-256)、224(SHA-224)、256(SHA-256)、384(SHA-384)、512(SHA-512),其他值将返回 NULL。
- SHA224加密算法安全性低,存在安全风险,不建议使用。
- SHA2函数会在日志中会记录哈希的明文,因此不建议用户用该函数加密秘钥等敏感信息。
示例
SELECT sha('ABC');
SELECT sha1('ABC');
SELECT sha2('ABC',224);
SELECT sha2('ABC',0);
返回结果为:
sha
------------------------------------------
3c01bdbb26f358bab27f267924aa2c9a03fcfdb8
(1 row)
sha1
------------------------------------------
3c01bdbb26f358bab27f267924aa2c9a03fcfdb8
(1 row)
sha2
----------------------------------------------------------
107c5072b799c4771f328304cfe1ebb375eb6ea7f35a3aa753836fad
(1 row)
sha2
------------------------------------------------------------------
b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78
(1 row)