我正在尝试从应用程序语句"insert into table1 (memberid) values (encrypt('1111',‘abcdef’)“)中插入数据到表中。但是,应用程序正在准备as insert as table1 (memberid)值('encrypt('1111','abcdef')'),并插入行。
当select decrypt_char(memberid,'abcdef')从table1获取SQL20146N时-解密函数失败。数据未加密。
发布于 2021-06-18 16:03:54
如果您在代码或列声明中犯了错误,则可能会出现此错误。
您应该避免使用ENCRYPT()和DECRYPT_CHAR(),因为它们被认为是不安全的,已被弃用,因此可能会从未来的Db2版本中删除。请改用Db2本机加密或底层文件系统加密。
下面是您在DB2-LUW上的一个工作示例:
create table table1(memberid varchar(64) for bit data)
insert into table1 (memberid) values (encrypt('1111','abcdef'))
select hex(memberid) from table1
1
--------------------------------------------------------------------------------------------------------------------------------
0828D8FFB804AFD51CFBD754BD9D234F
select decrypt_char(memberid, 'abcdef') from table1
1
--------------------------------------------------------
1111 https://stackoverflow.com/questions/68026381
复制相似问题