PHP 于本周发布的 7.2.0 版本使得它安全性大大提高,该版本改进了编程语言对密码学和密码哈希算法的支持,并使其更现代化。
到目前为止,在 PHP 7.2 中最显著的变化是,新增对密码哈希算法 Argon2 的支持。Argon2 于 2010 年初开发,现已成为 IETF 中普遍认可的互联网标准。
Argon2 被认为优于 Bcrypt
目前认为该算法在安全性和成本效益方面优于当今使用最广泛的密码散列函数 Bcrypt。除了密码散列函数外,该算法还适用于与现代电子(加密)货币一起使用的工作证明操作。
从周四发布的PHP 7.2 开始,Argon2 v1.3已经被添加到 PHP 内核中,开发者可以通过 password_hash() 函数使用它。
// Argon2i with default cost factors password_hash('password', PASSWORD_ARGON2I);
Mcrypt out, Libsodium in
PHP 7.2 的另一个主要变化是从 PHP 内核中删除旧的 Mcrypt 加密库,并增加了一个更现代的替代品 Libsodium。
Libsodium 库的开发者表示要摆脱 ext/mcrypt,因为这是已被抛弃的软件,会抑制语言的发展。
尽管在过去十年,PHP 遭遇过不少风雨,但自从 2015 年下半年 7.x 版本发布以来,它已经变得更加快速和安全。