PHP比md5更安全的加密方式--哈希密码
admin
2023-06-19 03:41:18
0

传统加密方式:

md5(密码+盐值);

$passwordString='your password';//你的密码

$salt="your salt value";//盐值,增加复杂度(随机字串)

$md5Password=md5($passwordString.$salt);

    从理论上来说,md5不可逆,算是一种比较安全的加密方式。但是我要提醒的是,md5早在04年的时候就被中国人破解(请自行搜索山东大学王小云)。一旦被人***的化,密码泄漏的可能性极大。


现在推荐一种新的处理方式:密码散列算法函数

  • password_get_info — 返回指定哈希(hash)的相关信息

  • password_hash — 创建密码的哈希(hash)

  • password_needs_rehash — Checks if the given hash matches the given options

  • password_verify — 验证密码是否和哈希匹配



    PHP5.5引入了Password Hashing函数,内核自带无需安装扩展。在PHP5.4下测试了下也可是可以的,使用前最好确认一下你当前的环境是否支持这些函数。


Password Hashing主要提供了4个函数

//查看哈希值的相关信息
array password_get_info (string $hash)

//创建hash密码
string password_hash(string $password , integer $algo [, array $options ])

//判断hash密码是否特定选项、算法所创建
boolean password_needs_rehash (string $hash , integer $algo [, array $options ] 

boolean password_verify (string $password , string $hash)
//验证密码


代码演示:

$password = 'password123456';//原始密码
//使用BCRYPT算法加密密码
$hash_password = password_hash($password, PASSWORD_BCRYPT);


if (password_verify($password , $hash_password)){
   echo "密码匹配";
}else{
   echo "密码错误";
}


重要特征:

    通过password_hash加密后的密码,使用字典方式很难破解,因为每次生成的密码都是不一样的。破解这种加密只能采用暴力破解。


最后提醒:

    加密方法再好,原始密码设置的过于简单都容易被破解,设置复杂的密码才是王道。


相关内容

热门资讯

日本情报体系加速重构,《反间谍... 澎湃新闻记者 陈沁涵日本国会参议院全体会议5月27日表决通过“国家情报会议”设立法案。这被视为日本首...
教育部:这类学历不予认证 不出... 教育部:这类学历不予认证  【教育部:这类学历不予认证】“不出国就能拿国外文凭,国家还认证”,这种话...
“同享老婆梅”“同享情人梅”包... 近日,四川一女子看到网上销售的“同享老婆梅”零食外包装上刻有“同享老婆梅”“同享情人梅”等字样,认为...
郑州商超江湖加速迭代焕新!5月... 当四季轮回由冬到夏,当路边法桐从枝丫光秃到绿意盎然,郑州市东风路与丰乐路交叉口东南角,那个曾经对市民...
无人机挂横幅向政府讨债,别把企... 评论员 李一木据上游新闻报道,近日,一段内容为“无人机挂横幅向山东济南市商河县农业农村局讨债”的视频...
伊朗革命卫队官员:伊美战争重启... 据伊朗方面27日消息,伊朗伊斯兰革命卫队海军官员穆罕默德·阿克巴尔扎德表示,与美国重新发生战争的可能...
母亲虐待并强迫女儿拍隐私部位出... 近日,最高法发布了六起防范和惩治家庭内部侵害未成年人合法权益典型案例。其中一起案例中,当妈的田某某长...
多点发力精准辟谣 郑州全方位筑... 5月26日,“每一件举报,都是共治的力量”2026年度网络举报系列宣传活动(河南站)在郑州启动。顶端...
我国冷原子干涉重力测量取得突破... 记者今天(5月27日)了解到,“十四五”期间,市场监管总局组织国内优势技术团队,开展冷原子干涉重力仪...
林志玲辞去职务 国台办:明智决...  林志玲辞去职务 国台办:明智决定  【林志玲辞去职务 国台办:明智决定】5月27日,国台办回应林志...