购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 加密相关

通常在用户信息表中,密码信息不使用明文存储,有一种方式是使用MD5对密码进行单向加密后再存储。

PostgreSQL提供了多种加密相关的函数,用于数据的安全存储和传输。以下是一些常用的加密相关函数:

1. MD5():用于生成数据的MD5哈希值。

2. SHA256():用于生成数据的SHA-256哈希值。

3. SHA512():用于生成数据的SHA-512哈希值。

SHA256与SHA512运行结果提示为二进制数据,可使用下边的ENCODE将其编码为16进制字符显示。

4. ENCODE()和DECODE():用于对数据进行编码和解码。

ENCODE()函数将数据编码为指定的格式,DECODE()函数将编码的数据解码回原始格式。

由于DECODE解码之后为二进制形式,可以进一步使用转换函数CONVERT_FROM得到文本数据。

5. pgcrypto扩展:PostgreSQL的pgcrypto扩展提供了更多加密相关的函数和操作符。其中包括加密、解密、哈希、密钥管理等功能的支持。要使用pgcrypto扩展,需要先安装并加载该扩展。

安装pgcrypto扩展:

使用示例:

5.1摘要哈希值,支持算法md5/sha1/sha256/sha512:

5.2 encrypt()和decrypt()

用于加密和解密数据。支持多种加密算法,如AES、DES、Blowfish等。

解密函数decrypt执行后为二进制数据,同样可以使用转换函数CONVERT_FROM得到文本数据。

5.3 pgp_sym_encrypt()和pgp_sym_decrypt()

使用PGP对称密钥加密和解密数据。

5.4 gen_random_uuid()

生成一个UUID(Universally Unique Identifier)。

5.5 hmac():

HMAC(Hash-based Message Authentication Code)是一种利用哈希函数来构造消息认证码的方法,它可以用来验证消息的完整性和真实性。HMAC结合了哈希函数的加密特性和共享密钥的认证特性,使得通信双方能够在不安全的环境中安全地交换信息。

函数hmac()计算给定数据的HMAC(Hash-based Message Authentication Code)。

以上代码中,'data to authenticate'是要认证的数据,'shared secret key'是共享密钥,'sha256'指定了使用的哈希函数(SHA-256)。 w3liFS91v6MexaKi+Lp8LnUg+0CVSqk3MuocYrxzC+5mxi3BcGRy8VkfhNy6Pyzd

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开