sql >> Databáze >  >> RDS >> PostgreSQL

Nelze dešifrovat pomocí pgcrypto z AES-256-CBC, ale AES-128-CBC je v pořádku

MCRYPT_RIJNDAEL_256 není AES-256. Je to Rijndaelova šifra s velikostí bloku 256 (proto ta chyba). AES je podmnožinou Rijndaelovy šifry využívající velikost bloku 128 bitů a klíč velikosti 128, 192 a 256 bitů. To se také odráží ve velikosti IV.

Chcete-li vytvořit šifrovaný text AES-256, můžete použít MCRYPT_RIJNDAEL_128 se správnou velikostí klíče (256 bitů je 32 bajtů). _128 postfix označuje velikost bloku, který se má použít; stále jej můžete používat s jakoukoli platnou velikostí klíče 128, 192 nebo 256 bitů.

Dejte si pozor, že mcrypt – zejména základní C-knihovna – již není udržován. Je lepší používat kryptoknihovny openssl nebo novější.

Obaly mcrypt a OpenSSL také šťastně povolí neplatné velikosti klíčů, jen vás varují - pokud budete mít štěstí. To samozřejmě není kompatibilní s žádnou dobře definovanou knihovnou AES.




  1. Povolení TLS v R12.1

  2. PostgreSQL Logical Replication Gotchas

  3. Jak používat JDBC k připojení databáze MySql

  4. Syntaxe SQL ALTER TABLE – Zobrazuje DBMS