Beüzemelésre került az BlowfishOnline segédprogram, amely szövegek titkosítását és visszafejtését valósítja meg. Az eredeti cél az volt, hogy demonstráljam az Angularban elkódolt szövegek PostgreSQL-ben történő visszafejtését. A szolgáltatás elérhető ITT.
A projekt Angular felhasználásával valósult meg. A kódoláshoz a egoroof-blowfish modult használtam.
Inicializáló vektornak az „00000000” szöveget használom. Ez a visszafejtésnél fontos. A titkosított tömb base64-el tovább van konvertálva, hogy szövegként lehessen kezelni.
Példa:
Jelszó | Elkódolandó szöveg | Titkosított és base64-re kódolt szöveg |
---|---|---|
example | Hello World! | 3+B5zcjJTBvyI6DXACm9Eg== |
Az elkódolt szöveg dekódolása PostgreSQL alatt:
A visszakódoláshoz szükséges a pgcrypto kiterjesztés betöltése. Az alábbi függvény megvizsgálja, hogy a kiterjesztés be van-e töltve és ha kell betölti.
1 | CREATE OR REPLACE FUNCTION "CreatePGCrypto"() |
Ezután már elvégezhetjük a visszafejtést:1
2
3
4
5
6
7
8
9
10
11
12
13select
convert_from( /*a visszafejtett tömb konvertálása UTF8 stringgé*/
decrypt_iv( /*a titkosított tömb visszafejtése egy tömbbe*/
decode( /*base64 tömbbé alakítása*/
'3+B5zcjJTBvyI6DXACm9Eg==',
'base64'
),
'example',
'00000000',
'bf-cbc/pad:pkcs'
),
'UTF8'
);
Szöveg elkódolása PostgreSQL alatt:
Példa:
Jelszó | Elkódolandó szöveg |
---|---|
example | Hello World from PG! |
Az elkódolás:1
2
3
4
5
6
7
8
9
10
11select encode(
encrypt_iv(
'Hello World from PG!',
'example',
'00000000',
'bf-cbc/pad:pkcs'
),
'base64'
);
/* return=3+B5zcjJTBuNaNLFG3cJQq6YeSV/g9d7 */
Az elkódolt szöveg visszafejtése a BlowfishOnline segítségével: