C # Triple DES шифрование для расшифровки функции Informix ENCRYPT_TDES - PullRequest
1 голос
/ 07 января 2012

У меня есть данные из базы данных Informix, в которой есть столбец с данными, зашифрованными с использованием функции Informix ENCRYPT_TDES. Данные были импортированы в SQL SERVER 2008, и у меня больше нет доступа к работающему экземпляру Informix. Мне нужно написать функцию C # или VB.NET для расшифровки этих данных. Кто-нибудь знает, как написать функцию C # для ее расшифровки?

1 Ответ

0 голосов
/ 07 января 2012

Способ хранения данных для зашифрованных данных с помощью ENCRYPT_TDES или ENCRYPT_AES не документирован и не очевиден.Он включает в себя управляющую информацию, для которой был использован алгоритм (поэтому вы обычно расшифровываете данные на стороне сервера с помощью DECRYPT_CHAR () или DECRYPT_BINARY (), не указывая, какой алгоритм использовался), подсказку (если есть) и IV, который использовался,все закодировано в кодировке Base-64.Подсказка по существу доступна бесплатно (любой может использовать функцию GETHINT () для данных, чтобы получить подсказку, не зная правильного пароля), но она хранится в слегка зашифрованном виде с помощью фиксированного ключа.

Итак, да,в принципе, вы могли бы написать код C # для расшифровки данных, но вы должны быть готовы иметь дело с Triple-DES (TDES) или AES (128-битным) шифрованием, и вы должны понимать внутреннюю часть данныхформат.

...