sql >> Database teknologi >  >> RDS >> PostgreSQL

Kan ikke dekryptere ved hjælp af pgcrypto fra AES-256-CBC, men AES-128-CBC er OK

MCRYPT_RIJNDAEL_256 er ikke AES-256. Det er Rijndael-chifferet med en blokstørrelse på 256 (deraf fejlen). AES er en delmængde af Rijndael-chifferet, der bruger blokstørrelse på 128 bit og nøgle størrelser på 128, 192 og 256 bit. Dette afspejles også i IV-størrelsen.

For at oprette en AES-256 krypteret chiffertekst kan du bruge MCRYPT_RIJNDAEL_128 med den korrekte nøglestørrelse (256 bits er 32 bytes). _128 postfix angiver den blokstørrelse, der skal bruges; du kan stadig bruge den med enhver gyldig nøglestørrelse på 128, 192 eller 256 bit.

Vær opmærksom på, at mcrypt - især det underliggende C-bibliotek - ikke længere vedligeholdes. Du er bedre stillet ved at bruge openssl eller nyere kryptobiblioteker.

mcrypt- og OpenSSL-indpakningerne tillader også gladeligt ugyldige nøglestørrelser og advarer dig kun - hvis du er heldig. Det er selvfølgelig ikke kompatibelt med nogenlunde veldefinerede AES-biblioteker.




  1. Kun ét udtryk kan angives i valglisten, når underforespørgslen ikke er introduceret med EXISTS

  2. Sådan forbinder du tre bord efter larve veltalende model

  3. Håndtering af din MS SQL-replikering

  4. Oracle Streams trin for trin replikeringseksempel