PHP常见加密函数用法示例【crypt与md5】


Posted in PHP onJanuary 27, 2019

本文实例讲述了PHP常见加密函数用法。分享给大家供大家参考,具体如下:

1.crypt()函数

crypt()函数用于返回使用DES、Blowfish或MD5算法加密过后的字符串,crypt(str,salt)接受2个参数,第1个为需要加密的字符串,第2个为盐值(加密干扰值,如果没有提供,则默认由PHP自动生成),返回的字符串为散列的字符串或者是一个少于13个字符的字符串;

<?php
//使用crypt()函数进行加密
$password = '3water.com';
//没有提供盐值
echo "加密前:".$password;
echo "加密后(无盐值):".crypt($password);
echo "<hr>";
//提供盐值
$salt = "good";
echo "加密后(有盐值):".crypt($password,$salt);
?>

加密的字符串为“3water.com”:

第一次:

PHP常见加密函数用法示例【crypt与md5】

刷新后:

PHP常见加密函数用法示例【crypt与md5】

总结:通过刷新前与刷新后可以发现,crypt()函数如果没有盐值加密后的字符串的第2个$与第3个$之间的字符串的8个字符串是由PHP自动生成的,每刷新一次就变一次;crypt()函数如果定义了盐值后,只会截取盐值的前2位添加在加密后的字符串前且加密后的字符串是不变的。

注意:crypt()函数是一种单向算法,没有相应的解密函数。PHP添加盐值默认使用DES加密,如果salt这个字符串以$1$开头,以$结尾则是MD5加密,只会截取盐值的前八位添加在加密后的字符串前。

PHP常见加密函数用法示例【crypt与md5】

PHP常见加密函数用法示例【crypt与md5】

2.md5()函数

MD5函数格式:md5(string),返回一个32位的字符串,且MD5加密对于大小写敏感;MD5加密主要应用在校验网站用户密码上,用户注册时的密码经过MD5计算后存入数据库,当用户登录时,再把用户输入的密码经过MD5计算后与数据库中经过MD5加密的字符串进行比较。

<?php
//使用md5()函数进行加密
$password = '3water.com';
echo "加密前:".$password;
echo "<hr>";
echo "MD5加密后:".md5($password);
?>

结果如下:

PHP常见加密函数用法示例【crypt与md5】

PHP 相关文章推荐
安装APACHE
Jan 15 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 PHP
PHP 冒泡排序算法的实现代码
Aug 08 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
Jan 27 PHP
php对数组排序代码分享
Feb 24 PHP
PHP+memcache实现消息队列案例分享
May 21 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 #PHP
PHP的PDO事务与自动提交
Jan 24 #PHP
PHP的PDO连接讲解
Jan 24 #PHP
PHP的PDO预定义常量讲解
Jan 24 #PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 #PHP
PHP的mysqli_stmt_init()函数讲解
Jan 24 #PHP
详解php伪造Referer请求反盗链资源
Jan 24 #PHP
You might like
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
2018/03/12 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
js实现抽奖功能
2020/11/24 Javascript
Python实现多线程抓取妹子图
2015/08/08 Python
python爬虫使用cookie登录详解
2017/12/27 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
怎样让char类型的东西转换成int类型
2013/12/09 面试题
护理专业本科生自荐信
2013/10/01 职场文书
区域销售经理岗位职责
2013/12/10 职场文书
迟到检讨书1000字
2014/01/15 职场文书
大型会议接待方案
2014/03/01 职场文书
新年团拜会主持词
2014/04/02 职场文书
团拜会策划方案
2014/06/07 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
处罚决定书范文
2015/06/24 职场文书
运动会通讯稿100字
2015/07/20 职场文书
工作感想范文
2015/08/07 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
人生感悟经典句子
2019/08/20 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
在 Python 中利用 Pool 进行多线程
2022/04/24 Python