PHP SSL密码的区别和比较

时间:2019-03-01 08:46:44

标签: php encryption openssl

通过openssl_get_cipher_methods(),PHP中提供了很多SSL密码:

PHP SSL ciphers

每个密码的扩展名指定什么? (例如cbc,gcm等)

如果满足以下条件,则应使用所列的其中之一:

  • 最快(不太安全)的密码?
  • 最佳实践(安全)密码?

1 个答案:

答案 0 :(得分:1)

  

每个密码的扩展名指定什么? (例如cbc,gcm等)

扩展名是mode of operation。大多数密码都是块密码,用于加密单个数据块。有几种方法可以安全地加密较大的数据(多个块)。该扩展名指示如何处理多个块。

  

最快(不太安全)的密码?
  最佳做法(安全)密码?

在没有其他选择(不太安全)之前,请勿使用 ecb 模式。

几乎所有简单模式(cbc,ofb,...)在速度上都是等效的,理论上您可以使用它们中的任何一种。更重要的是,不要使用任何不安全的(过时的密码),例如DES。

我看到的最常用的是CBC模式,因为几乎所有工具都支持该模式。许多人没有意识到CBC密码是malleable,因此必须进行某种完整性检查。

gcm 模式包含完整性检查信息,因此从理论上讲它比较慢,但是密码将为您执行完整性检查。