这篇文章主要介绍了PHP数据加密技术与密钥安全管理的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP数据加密技术与密钥安全管理的方法文章都会有所收获,下面我们一起来看看吧。@H_502_1@
单向散列加密@H_502_1@
单向散列加密就是把任意长的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种加密算法。@H_502_1@
MD5 (Message Digest Algorithm 5)@H_502_1@
SHA (Secure Hash Algorithm)@H_502_1@
MAC (Message Authentication Code)@H_502_1@
CRC (Cyclic Redundancy Check)@H_502_1@
利用单项散列加密的这个特性,可以进行密码加密保存。@H_502_1@
-
MD5(不推荐)@H_502_1@
$password = md5($_POST["password"]);
-
SHA256 和 SHA512(不推荐)@H_502_1@
$password = hash("sha256", $password);
原因:加密算法比较简单。@H_502_1@
-
盐值(额外字符串)(常用)@H_502_1@
<?PHP $strSalt = '2f9c8d7h7g7f8d9k'; echo hash("sha256", $password . $strSalt);
-
Bcrypt (比较安全)@H_502_1@
$strSalt = '2f9c8d7h7g7f8d9k'; $salt = '$2y$11$' . $strSalt; echo crypt($password, $salt);
-
password_hash (安全)@H_502_1@
//支持版本 (PHP 5 >= 5.5.0, PHP 7) echo password_hash($password, PASSWORD_DEFAULT);
解释:password_hash() 使用足够强度的单向散列算法创建密码的哈希(hash)。@H_502_1@
$password = 'e4r3t2y1u'; $strPwdHash = password_hash($password, PASSWORD_DEFAULT); if (password_verify($password, $strPwdHash)) { //验证成功 } else { //验证失败 }
对称加密@H_502_1@
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。@H_502_1@
优点:对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。@H_502_1@
缺点:在数据传送前,发送方和接收方必须商定好秘钥,双方必须保存好秘钥。@H_502_1@
常用算法:@H_502_1@
非对称加密@H_502_1@
非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。@H_502_1@
请查看历史文章:PHP 使用非对称加密算法 (RSA)@H_502_1@
密钥安全管理@H_502_1@
上面说到的这几种加密技术,能够达到安全保密效果的一种重要前提就是密钥的安全。@H_502_1@
在实际工作中,我们有开发环境,预发布环境,正式环境,每个环境中的密钥都不相同。@H_502_1@
那么,我们应该如何保存密钥呢?@H_502_1@
关于“PHP数据加密技术与密钥安全管理的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“PHP数据加密技术与密钥安全管理的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程之家行业资讯频道。@H_502_1@
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。