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 相关文章推荐
PHP 魔术函数使用说明
May 14 PHP
php 编写安全的代码时容易犯的错误小结
May 20 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
Nov 05 PHP
使用PHP生成PDF方法详解
Jan 23 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
PHP+jQuery实现即点即改功能示例
Feb 21 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 PHP
php7中停止php-fpm服务的方法详解
May 09 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
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
javascript动态加载实现方法一
2012/08/22 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
Python命令行解析模块详解
2018/02/01 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
加拿大时装零售商:Influence U
2018/12/22 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
无传销社区工作方案
2014/05/13 职场文书
五四青年节演讲稿
2014/05/26 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
2019幼儿园感恩节活动策划书
2019/11/28 职场文书
Python合并多张图片成PDF
2021/06/09 Python
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis