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 相关文章推荐
简单的页面缓冲技术
Oct 09 PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
PHP优于Node.js的五大理由分享
Sep 15 PHP
php解析html类库simple_html_dom(详细介绍)
Jul 05 PHP
linux下安装php的memcached客户端
Aug 03 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
PHP文件上传处理案例分析
Oct 15 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
PHP实现的装箱算法示例
Jun 23 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
python局部赋值的规则
2013/03/07 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
python读取文本中的坐标方法
2018/10/14 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
英国著名书店:Foyles
2018/12/01 全球购物
初婚未育未抱养证明
2014/01/12 职场文书
长安大学毕业生自我鉴定
2014/01/17 职场文书
道德模范先进事迹
2014/02/14 职场文书
奉献演讲稿范文
2014/05/21 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
自我推荐信怎么写
2015/03/24 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android