用php内置方法 生成hash值
/**
* 生成密码加密 返回hash存入数据库
* @Author macheng
* @DateTime 2018-03-30T14:07:20+0800
* @param [type] $password [description]
* @return [type] [description]
*/
function mc_create_password($password)
{
return password_hash($password,PASSWORD_DEFAULT);
}
/**
* 验证用户输入密码
* @Author macheng
* @DateTime 2018-03-30T14:09:16+0800
* @param [type] $password [description]
* @param [type] $hash [description]
* @return [type] [description]
*/
function mc_verify_password($password,$hash)
{
if (password_verify($password,$hash)) {
return true;
} else {
return false;
}
}
1.注意password后hash值可能随着php版本而长度不固定,数据库最好存255长度
2.hash后的字符串可能含有$符号 需要用单引号来引用
3.该方法只能用于php版本>=5.5
一般方法
function data_md5($str, $key = 'asfghudhgjkfsadyugvhjfghja')
{
return '' === $str ? '' : md5(sha1($str) . $key);
}
这里面的盐值可以随机取 存在用户表中 每个用户的盐值都不一样