12.1.?普通哈希函数

12.1.1. digest()
12.1.2. hmac()

12.1.1.?digest()

digest(data text, type text) returns bytea

digest(data bytea, type text) returns bytea

计算给定data的二进制哈希值。type是要使用的算法。标准算法是md5、sha1、sha224、sha256、sha384和sha512。

如果想摘要成为一个十六进制字符串,可以在结果上使用encode()。例如:

CREATE OR REPLACE FUNCTION sha1(bytea) returns text AS $$
    SELECT encode(digest($1, 'sha1'), 'hex')
$$ LANGUAGE SQL STRICT IMMUTABLE;

12.1.2.?hmac()

hmac(data text, key text, type text) returns bytea

hmac(data bytea, key text, type text) returns bytea

为带有密钥key的data计算哈希算法计算过的MAC。type与digest()中相同。

这与digest()相似,但是该哈希只能在知道密钥的情况下被重新计算出来。这阻止了非法用户修改数据且更改哈希以匹配。

如果该密钥大于哈希块的尺寸,它将先被哈希然后把结果用作密钥。

XML 地图 | Sitemap 地图