【发布时间】:2018-09-21 17:37:11
【问题描述】:
在 oracle 数据库中,我有一个表,其中有一列包含长度为 17 个 ASCI 字符(136 位)的“单词”。我想在 Informatica Powercenter v10 中使用 AES 128 位加密这些词。这是不可能的,因为纯文本是 136 位,大于 128 位,最后一个字符将被忽略。 Informatica 没有更高位的加密方法。在这种情况下我应该如何处理?大家有遇到过这种情况吗? 我想我把这 17 个字符的单词分解成更小的单词,然后分别加密/解密它们,然后将它们连接起来。
提前谢谢你!
【问题讨论】:
-
这对于任何现代平台来说都不是问题。是的,AES 具有 128 位的块大小,但实施应根据需要自动加密更多块。您可能对 cryptographic padding 感兴趣以供进一步阅读。
-
informatica AES 实施的版本只使用前 16 个字符,而忽略其余字符。它没有实现任何进一步的块。此外,我无法更改 Informatica 中的 aes 函数
-
那太糟糕了。我的下一个方法是你建议的 - 分成两半并加密。
-
@StefanCreanga 找到支持任意数据长度的完整 AES 实现。同样正如 Luck 提到的,你还需要填充或不需要填充的模式。
标签: encryption aes informatica-powercenter