Расшифруйте зашифрованные пароли PBE с помощью Postgres SQL

У меня есть приложение, которое использует пакет Java javax.crypto для шифрования строк и хранения их в базе данных postgresql. Нам нужно расшифровать эти строки из Postgres SQL. Я знаю о пакете pgcrypto для postgres SQL, но не знаю, какую из функций pgcrypto мне следует использовать для дешифрования строк. Код Java использует алгоритм Crypto "PBEWithMD5AndDES", и я не могу найти соответствующий алгоритм (ы) в пакете pgcrypto.

Например, если закрытым ключом является "a_private_key", то код приложения использует следующие функции для генерации секретного ключа и для шифрования строки.

SecretKey secretKey = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(new PBEKeySpec("a_private_key".toCharArray()));
Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES")
cipher.init(Cipher.ENCRYPT_MODE, secretKey, 
            new PBEParameterSpec(
               new byte[] { (byte) 0x30, (byte) 0x31, (byte) 0x32, (byte) 0x33,
                            (byte) 0x34, (byte) 0x35, (byte) 0x36, (byte) 0x37, },
               15);
byte[] crypted = cipher.doFinal("StringToEncrypt".getBytes(UTF8));

1 ответ

Закрытие этого вопроса сейчас, так как комментарии от ntoskml и Eilke верны; PBE - это криптография только для Java, и поэтому я не смог расшифровать ее из Postgresql. В итоге мне пришлось придумать решение проблемы Java/JDBC.

Другие вопросы по тегам