暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB数据库基础函数介绍-8

高斯精选 2023-10-23
443

安全函数

在GaussDB数据库中,安全函数是指用于提高数据库安全性的函数。这些函数通常用于检查和处理数据库操作时可能出现的数据安全情况,例如加密等。

 

以下是一些常见的数据库安全函数:

--gs_encrypt_aes128(encryptstr,keystr)
--描述:使用基于keystr派生出的密钥对encryptstr字符串进行加密,返回加密后的字符串。keystr的长度范围为8~16字节,并且至少包含大写字母、小写字母、数字和特殊字符中的三种字符。
--支持的加密数据类型:目前数据库支持的数值类型,字符类型,二进制类型中的RAW,日期/时间类型中的DATE、TIMESTAMP、SMALLDATETIME。
--返回值类型:text
--返回值长度:至少为92字节,不超过4*[(Len+68)/3]字节,其中Len为加密前数据长度(单位为字节)。
--说明:由于该函数的执行过程需要传入口令,为了安全起见,gsql工具不会将包含该函数名字样的SQL记录入执行历史。即无法在gsql里通过上下翻页功能找到该函数的执行历史。

--gs_decrypt_aes128(decryptstr,keystr)
--描述:使用基于keystr派生出的密钥对decrypt字符串进行解密,返回解密后的字符串。解密使用的keystr必须保证与加密时使用的keystr一致才能正确解密。keystr不得为空。
--说明:此函数需要结合gs_encrypt_aes128加密函数共同使用。
--返回值类型:text

--加密
SELECT gs_encrypt_aes128('123','P@ssw0rd');

--解密
select gs_decrypt_aes128('XG09Q6u9VOBUf+eWC6/COTR3PX+AYm+G6vcMbdqjG8muGsGYplPdXP2vPVFRyU+vGLUHtbNWaxnpAO+6pGKSq9bLsIU=','P@ssw0rd')





--gs_encrypt(encryptstr,keystr, encrypttype)
--描述:根据encrypttype,以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。keystr的长度范围为8~16字节,至少包含3种字符(大写字母、小写字母、数字、特殊字符), encrypttype可以是aes128或sm4。
--返回值类型:text
--说明:由于该函数的执行过程需要传入解密口令,为了安全起见,gsql工具不会将包含该函数名字样的SQL记录入执行历史。即无法在gsql里通过上下翻页功能找到该函数的执行历史。

--gs_decrypt(decryptstr,keystr,decrypttype)
--描述:根据decrypttype,以keystr为密钥对decrypt字符串进行解密,返回解密后的字符串。
--解密使用的decrypttype 及keystr必须保证与加密时使用的encrypttype 及keystr一致才能正常解密。keystr不得为空。decrypttype可以是aes128或sm4。
--此函数需要结合gs_encrypt加密函数共同使用。
--返回值类型:text
--说明:由于该函数的执行过程需要传入解密口令,为了安全起见,gsql工具不会将包含该函数名字样的SQL记录入执行历史;即无法在gsql里通过上下翻页功能找到该函数的执行历史。

SELECT gs_encrypt('123','P@ssw0rd','sm4'),gs_encrypt('123','P@ssw0rd','aes128'); 

select gs_decrypt('h4NdduY5s7++5Qp7m1pgdgKORQ==','P@ssw0rd','sm4')
      ,gs_decrypt('roBb4Wg/GjiW9g6gfpth7+ZliaCoYI+/nQd5FruETUpnOcj2veZ3gulEyxLnGh02tUj1/mdL4NJPaeNi3WAskdTs3wU=','P@ssw0rd','aes128')




「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论