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 xml文件操作实现代码(二)
Mar 20 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
一个简单的PHP验证码实现代码
May 10 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
php之readdir函数用法实例
Nov 13 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
PHP结合Vue实现滚动底部加载效果
Dec 17 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 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 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
PHP 简单日历实现代码
2009/10/28 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
Vue.js实现的表格增加删除demo示例
2018/05/22 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
微信小程序实现单选功能
2018/10/30 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
javaScript中indexOf用法技巧
2019/11/26 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
Python文件和流(实例讲解)
2017/09/12 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
Python列表切片常用操作实例解析
2019/12/16 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
教你打造完美的创业计划书
2014/01/06 职场文书
大学毕业生求职自荐信
2014/02/20 职场文书
林肯就职演讲稿
2014/05/19 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
统招统分证明
2015/06/23 职场文书
python基础之函数的定义和调用
2021/10/24 Python
vue+echarts实现多条折线图
2022/03/21 Vue.js