这个函数是php5新特性。用于密码加密。我们在开发中经常使用md5进行加密,通常是原密码加密码盐的方式。
password_hash()用于加密更加安全。
string password_hash ( string $password , integer $algo [, array $options ]);
前两个参数为必填,后一个参数可选。例如:
string password_hash ( '123456' ,PASSWORD_BCRYPT,['cost'=>15] );
其中第三个参数是PASSWORD_BCRYPT算法的选项值,cost是指算法使用的递归层数,默认是10.层数越高越复杂,但对硬件的要求越高,默认是10已经够用。该模式算法还有salt选项,即密码盐,使用它也可以增大密码的强度,但是需要注意的是该选项在php7.0版本中已经废除。
password_verify()用于对password_hash()加密后的密码进行校验
password_verify ( string $password , string $hash )
该函数有两个参数,第一个是加密前的值,第二个是加密后的值,返回bool类型。
使用password_hash()进行加密需要注意项目使用的php版本。还有一点就是多种编程语言用同一密码时最好不要用这种加密方法,因为password_verify()加密方法是php特有的,其他语言未必有相同的解密函数。