手动加密数据
KingbaseES支持用户使用加密函数保护敏感数据,并提供了多种加密算法。
加密算法
KingbaseES 提供了典型的加密算法,用户可以使用加密算法存储关键敏感数据。支持的加密算法参见下图:
注意
SHA2算法是在版本 0.9.8 时被加入到 OpenSSL 的。
OpenSSL 支持的任何摘要算法都是自动选取的。这对于使用密码来说是不可能的,因为需要被显式地支持。
AES从版本0.9.7 就开始被包括在 OpenSSL中。
加密算法使用示例:
SELECT encode(digest('abc', 'md5'), 'hex');
SELECT encode(digest('abc', 'sha1'), 'hex');
SELECT encode(digest('abc', 'sha224'), 'hex');
SELECT encode(digest('abc', 'sha384'), 'hex');
SELECT encode(digest('abc', 'sha512'), 'hex');
SELECT encode(encrypt('Lets try a longer message.', '0123456789', 'bf'), 'hex');
SELECT encode(encrypt('Lets try a longer message.', '0123456789', 'aes'), 'hex');
SELECT encode(encrypt('Lets try a longer message.', '01234567', 'des'), 'hex');
SELECT encode(encrypt('Lets try a longer message.', '0123456789012345678901', '3des'), 'hex');
SELECT encode(encrypt('Lets try a longer message.', '0123456789', 'cast5'), 'hex');