128-битное шифрование AES для Informatica Powercenter - PullRequest
0 голосов
/ 19 сентября 2018

В базе данных оракула у меня есть таблица со столбцом, который содержит «слова» длиной 17 символов ASCI (136 бит).Я хочу зашифровать эти слова в Informatica Powercenter v10 с AES 128 бит.Это невозможно, поскольку обычный текст содержит 136 бит, что больше 128 бит, а последний символ игнорируется.Informatica не имеет более высокого метода шифрования битов.Как я должен действовать в этом случае?Кто-нибудь из вас сталкивался с этим?Я подумал, что разбил 17-символьное слово на более умные слова, зашифровал / расшифровал их отдельно и конкатенировал их после.

Заранее спасибо!

1 Ответ

0 голосов
/ 19 сентября 2018

Кажется, что вы используете "слова" в качестве шифрования key.AES_ENCRYPT функция принимает два аргумента:

  • value - строка для шифрования.Если мое понимание верно, то здесь ваши слова должны идти.Здесь нет особых ограничений по длине, поэтому можно использовать любой строковый порт.
  • key - используемый ключ шифрования. Этот имеет ограничение в 16 символов.Это то, что следует использовать для расшифровки в более поздний момент времени.

===================== ОБНОВЛЕНИЕ =====================

Зная подробности из комментариев ниже, я попытался воспроизвести ошибку.Я собрал очень простое сопоставление, которое использует два порта для генерации зашифрованного текста:

  • AES_ENCRYPT('Some 16char text', 'mykey') - этот текст содержит ровно 16 символов, как указано
  • 1AES_ENCRYPT ('Some16-символьный текст, плюс дополнительный текст. ',' Mykey ') 1 - точно такой же, 16-символьный текст плюс некоторые дополнительные символы.

То, что я пытаюсь доказать, - это то, что ввод усекается до 16 символов независимо от его длины, и, следовательно, вывод AES_ENCRYPT будет таким же.Отображение:

AES_ENCRYPT initial mapping

Вот вывод:

AES_ENCRYPT initial mapping output file

То жеотображается в моей цели SQL Server:

AES_ENCRYPT initial mapping output DB

Действительно: результат ТОЧНО такой же, текст кажется усеченным.Вы правы!

Я просто хотел бы отметить здесь, что было бы здорово, если бы вы подготовили это.Это сэкономит мне время.

===================== РЕШЕНИЕ =====================

Теперь, когда я смог воспроизвести и подтвердить проблему, я попытался ее решить.

Результаты: AES_ENCRYPT modified mapping output file

SQL Server: enter image description here

Вы были правы: текст получил вялость.Поэтому я изменил длину портов:

AES_ENCRYPT modified mapping

Надеюсь, это поможет!

...