标签:中文 encrypt text decrypt 加解密 convert key 字符串 data
KingbaseES 加解密模块与是否中文字符没有关系,只是如果是中文,需要加 convert_from 将16进制字符串转换为中文字符。
加密函数:
create or replace function data_encrypt_with_key(encrypt_data text,encrypt_key text) returns text as $$ select encode(encrypt($1::bytea,byteain(('\x'||MD5($2))::CSTRING),'aes-ecb'),'base64') $$ language sql;
解密函数:
create or replace function data_decrypt_with_key(decrypt_data text,encrypt_key text) returns text as $$ select convert_from(decrypt(decoding($1,'base64'),byteain(('\x'||MD5($2))::CSTRING),'aes-ecb'),'utf8'); $$ language sql
decrypt 函数的结果是 16进制 字符串,需要用convert_from 转换成指定的字符集。这里的 'utf8' 是数据库的字符集,需要根据数据库实际的字符集修改。
标签:中文,encrypt,text,decrypt,加解密,convert,key,字符串,data 来源: https://www.cnblogs.com/kingbase/p/15567900.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。