PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tidak dapat mendekripsi menggunakan pgcrypto dari AES-256-CBC tetapi AES-128-CBC tidak masalah

MCRYPT_RIJNDAEL_256 bukan AES-256. Ini adalah sandi Rijndael dengan ukuran blok 256 (karenanya kesalahannya). AES adalah subset dari Rijndael cipher menggunakan ukuran blok 128 bit dan kunci ukuran 128, 192 dan 256 bit. Ini juga tercermin dalam ukuran IV.

Untuk membuat ciphertext terenkripsi AES-256, Anda dapat menggunakan MCRYPT_RIJNDAEL_128 dengan ukuran kunci yang benar (256 bit adalah 32 byte). _128 postfix menunjukkan ukuran blok yang akan digunakan; Anda masih dapat menggunakannya dengan ukuran kunci apa pun yang valid 128, 192, atau 256 bit.

Hati-hati bahwa mcrypt - terutama C-library yang mendasarinya - tidak dipertahankan lagi. Anda lebih baik menggunakan openssl atau pustaka kripto yang lebih baru.

Pembungkus mcrypt dan OpenSSL juga akan dengan senang hati mengizinkan ukuran kunci yang tidak valid, hanya memperingatkan Anda - jika Anda beruntung. Itu tentu saja tidak kompatibel dengan perpustakaan AES mana pun yang terdefinisi dengan baik.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menginstal hanya alat klien untuk PostgreSQL di Windows?

  2. Perbedaan Timestamp Dalam Jam untuk PostgreSQL

  3. Cara Menyisipkan ke dalam Array di PostgreSQL

  4. Bagaimana cara menambahkan sumber data PostgreSQL ke WildFly 9.0?

  5. Perbaiki “ERROR:  missing FROM-clause entry for table” di PostgreSQL saat menggunakan UNION, EXCEPT, atau INTERSECT