PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Không thể giải mã bằng pgcrypto từ AES-256-CBC nhưng AES-128-CBC thì OK

MCRYPT_RIJNDAEL_256 không phải là AES-256. Đó là mật mã Rijndael với kích thước khối là 256 (do đó có lỗi). AES là một tập hợp con của mật mã Rijndael sử dụng kích thước khối 128 bit và khóa kích thước 128, 192 và 256 bit. Điều này cũng được phản ánh trong kích thước IV.

Để tạo bản mã được mã hóa AES-256, bạn có thể sử dụng MCRYPT_RIJNDAEL_128 với kích thước khóa chính xác (256 bit là 32 byte). _128 postfix cho biết kích thước khối sẽ được sử dụng; bạn vẫn có thể sử dụng nó với bất kỳ kích thước khóa hợp lệ nào là 128, 192 hoặc 256 bit.

Lưu ý rằng mcrypt - đặc biệt là thư viện C bên dưới - không được duy trì nữa. Tốt hơn hết bạn nên sử dụng thư viện mã hóa openssl hoặc mới hơn.

Các trình bao bọc mcrypt và OpenSSL cũng sẽ vui vẻ cho phép các kích thước khóa không hợp lệ, chỉ cảnh báo bạn - nếu bạn may mắn. Điều đó tất nhiên không tương thích với bất kỳ thư viện AES nào được xác định rõ ràng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sửa lỗi “INSERT có nhiều biểu thức hơn cột mục tiêu” trong PostgreSQL

  2. Nhận xét ký tự / ký tự trong postgres / postgresql / psql?

  3. Sử dụng Hàm tương quan PostgreSQL

  4. Điều chỉnh PostgreSQL:Những điều quan trọng để thúc đẩy hiệu suất

  5. PostgreSQL giải thích cho tôi biết chính xác là gì?