更新时间:2024-10-08 GMT+08:00

使用函数进行加密

数据加密作为有效防止未授权访问和防护数据泄露的技术,在各种信息系统中广泛使用。作为信息系统的核心,GaussDB(DWS)数仓也提供数据加密功能,包括透明加密和使用SQL函数加密。

GaussDB(DWS)主要提供了哈希函数和对称密码算法来实现对数据列的加解密。哈希函数支持sha256,sha384,sha512和国密sm3。对称密码算法支持aes128,aes192,aes256和国密sm4。

  • 哈希函数
    • md5(string)

      将string使用MD5加密,并以16进制数作为返回值。MD5的安全性较低,不建议使用。

    • gs_hash(hashstr, hashmethod)

      以hashmethod算法对hashstr字符串进行信息摘要,返回信息摘要字符串。支持的hashmethod:sha256, sha384, sha512, sm3。

  • 对称密码算法
    • gs_encrypt(encryptstr, keystr, cryptotype, cryptomode, hashmethod)

      采用cryptotype和cryptomode组成的加密算法以及hashmethod指定的HMAC算法,以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。

    • gs_decrypt(decryptstr, keystr,cryptotype, cryptomode, hashmethod)

      采用cryptotype和cryptomode组成的加密算法以及hashmethod指定的HMAC算法,以keystr为密钥对decryptstr字符串进行解密,返回解密后的字符串。解密使用的keystr必须保证与加密时使用的keystr一致才能正常解密。

    • gs_encrypt_aes128(encryptstr,keystr)

      以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。keystr的长度范围为1~16字节。

    • gs_decrypt_aes128(decryptstr,keystr)

      以keystr为密钥对decryptstr字符串进行解密,返回解密后的字符串。解密使用的keystr必须保证与加密时使用的keystr一致才能正常解密。keystr不得为空。

了解更多请参见实现数据列的加解密