PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Не може да се дешифрира с помощта на pgcrypto от AES-256-CBC, но AES-128-CBC е наред

MCRYPT_RIJNDAEL_256 не е AES-256. Това е шифърът Rijndael с размер на блока 256 (оттук и грешката). AES е подмножество на шифъра Rijndael, използващ блок с размер от 128 бита и ключ размери от 128, 192 и 256 бита. Това се отразява и в IV размер.

За да създадете AES-256 шифрован шифрован текст, можете да използвате MCRYPT_RIJNDAEL_128 с правилния размер на ключа (256 бита са 32 байта). _128 postfix показва размера на блока, който ще се използва; все още можете да го използвате с всеки валиден размер на ключа от 128, 192 или 256 бита.

Внимавайте, че mcrypt - особено основната C-библиотека - вече не се поддържа. По-добре е да използвате openssl или по-нови крипто библиотеки.

Обвивките mcrypt и OpenSSL също с радост ще позволят невалидни размери на ключове, като само ви предупреждават - ако имате късмет. Това разбира се не е съвместимо с почти никаква добре дефинирана AES библиотека.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да мигрирам PostgreSQL база данни в SQLServer?

  2. Свържете се с база данни heroku с pgadmin

  3. Защо стойностите NULL са на първо място при поръчка на DESC в заявка на PostgreSQL?

  4. пакет неуспешен - Не мога да намеря клиентската библиотека на PostgreSQL (libpq)

  5. PostgreSQL Upsert разграничава вмъкнатите и актуализираните редове с помощта на системни колони XMIN, XMAX и други