Encryption 将加密字符串从Oracle DB移动到DB2
我有一个普通字符串Encryption 将加密字符串从Oracle DB移动到DB2,encryption,plsql,oracle11g,db2,Encryption,Plsql,Oracle11g,Db2,我有一个普通字符串athakur@test.com。它使用一些加密密钥加密存储在oracle数据库中。使用的algo在DB2中不可用,我希望在DB2中使用相同的数据 我无法通过复制粘贴直接传输数据,因为字符不同。当我将数据从SQL developer粘贴到DataStudio时,基本上会给出不同的字符。所以我尝试将加密数据转换为十六进制,然后在DB2中将十六进制转换为数据。但这似乎不起作用 使用rawtohex的十六进制加密数据是1E70A8495CEC19EEBDBA7A652344C850B
athakur@test.com
。它使用一些加密密钥加密存储在oracle数据库中。使用的algo在DB2中不可用,我希望在DB2中使用相同的数据
我无法通过复制粘贴直接传输数据,因为字符不同。当我将数据从SQL developer粘贴到DataStudio时,基本上会给出不同的字符。所以我尝试将加密数据转换为十六进制,然后在DB2中将十六进制转换为数据。但这似乎不起作用
使用rawtohex
的十六进制加密数据是1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306
,但在DB2中使用时
select x'1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306' from dual;
我正在变空
你知道我遗漏了什么或者其他复制数据的方法吗?什么版本和平台的DB2 假设您所使用的版本具有Oracle的双表而不是sysibm.sysdummy1等效表,那么您的语句应该可以工作 它确实对我有用,尽管显示值当然无法读取。我怀疑你真的想要
select hex(x'1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306')
from dual;
无法直接显示加密值,因为它不是有效的可显示字符。尽你所能
insert x'1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306'
into mytbl;
select hex(myfld)
from mytbl;
确保将位数据的myfld定义为
CHAR(24)
什么版本和平台的DB2
假设您所使用的版本具有Oracle的双表而不是sysibm.sysdummy1等效表,那么您的语句应该可以工作
它确实对我有用,尽管显示值当然无法读取。我怀疑你真的想要
select hex(x'1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306')
from dual;
无法直接显示加密值,因为它不是有效的可显示字符。尽你所能
insert x'1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306'
into mytbl;
select hex(myfld)
from mytbl;
确保将位数据的myfld定义为
CHAR(24)
否1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306
已经是十六进制值。我要返回相应的加密值。不能直接显示加密值,必须使用HEX()
显示加密值的十六进制表示形式。请参阅我的更新。没有1E70A8495CEC19EEBDBA7A652344C850B1266E74247A9306
已经是十六进制值。我要返回相应的加密值。不能直接显示加密值,必须使用HEX()
显示加密值的十六进制表示形式。查看我的更新。