/ / Dešifrovanie PBE šifrovaných hesiel pomocou Postgres SQL - java, postgresql, kryptografie, javax.crypto

Dešifrovať heslá s kódovaním PBE s Postgres SQL - java, postgresql, cryptography, javax.crypto

Mám aplikáciu, ktorá používa javax Java.crypto balík na šifrovanie reťazcov a ich uloženie v databáze postgresql. Tieto reťazce musíme dešifrovať z postgres SQL. Viem o balíku postgresSQL pgcrypto, ale neviem, ktorá z funkcií pgcrypto by som mala použiť na dešifrovanie reťazcov. Kód java používa algoritmus Crypto "PBEWithMD5AndDES" a nemôžem nájsť zodpovedajúci algoritmus v pgcrypto balík.

Napríklad, ak je súkromný kľúč "a_private_key", potom kód aplikácie používa nasledujúce funkcie na generovanie tajného kľúča a na šifrovanie reťazca.

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));

odpovede:

0 pre odpoveď č. 1

Zatvorenie tejto otázky teraz ako komentárentoskml a Eilke sú správne; PBE je java iba kryptografia, a preto som ju nemohla dešifrovať z Postgresql. Nakoniec som musel prísť s riešením Java / JDBC.