首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在另一个数据仓库平台上解密DB2数据

如何在另一个数据仓库平台上解密DB2数据
EN

Stack Overflow用户
提问于 2021-01-06 09:52:13
回答 2查看 575关注 0票数 0

我们需要将数据从db2 (db2 for AS400)发送到另一个数据仓库平台(Hive)。但是我们需要首先加密DB2中的数据。然后目标服务器将连接到DB2以导出数据并解密目标服务器中的数据。

SQL加密DB2中的数据:

代码语言:javascript
复制
INSERT INTO TESTAES
SELECT ENCRYPT_AES( ACCOUNT, '1234567890') FROM TESTPLAIN;

我知道DECRYPT_CHAR函数在DB2中:

代码语言:javascript
复制
SELECT DECRYPT_CHAR( ACCOUNT, '1234567890') FROM TESTAES

但是,在我们将这个表加载到另一个平台后,我们不知道如何解密数据。我们不知道DB2解密算法。

我认为梅的工作方式:

(1)给出了ENCRYPT_AES在DB2中的解密算法,并在targer服务器上编写程序对数据进行解密。但是IBM在任何文档中都共享这一点。我在IBM DB2文档中搜索过,只是告诉我们

加密算法:使用的内部加密算法来自IBM的CLiC工具包。128位加密密钥是使用SHA1消息摘要?https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/db2/rbafzscaencryptaes.htm从密码派生的。

(2)获取ENCRYPT_AES在DB2中的解密算法包,并在targer服务器上导入该包对数据进行解密。IBM有这样的包吗?

(3)使用另一个开源/通用函数/包对DB2中的数据进行加密。我们知道算法,我们可以编写程序/或使用相同的算法包来解密数据。但我不知道如何在AS400 db2中加密数据,除了ENCRYPT_AES。或者写一个java程序或者别的什么?

有人会分享加密数据迁移到另一个平台的经验吗?

EN

回答 2

Stack Overflow用户

发布于 2021-01-07 08:00:34

这是标准的AES算法,但在AS400中默认的CCSID是EBCDIC。

解密后需要将数据转换为UTF-8吗?

票数 0
EN

Stack Overflow用户

发布于 2021-01-08 08:21:14

我认为这个问题可以结束。加酶

(1)我请求IBM技术支持,他建议我们自己编写加密/解密函数。也许DB2加密函数的算法是一个秘密。

(2)我创建了一个DB2 UDF来调用AS400中的。终于起作用了。我可以在DB2中对数据进行加密,在其他数据库得到加密数据之后,可以在其他数据库中解密。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65593538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档