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注入实例
Oct 09 PHP
PHP+FLASH实现上传文件进度条相关文件 下载
Jul 21 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
Dec 05 PHP
PHP获取数组中某元素的位置及array_keys函数应用
Jan 29 PHP
CI框架入门示例之数据库取数据完整实现方法
Nov 05 PHP
64位windows系统下安装Memcache缓存
Dec 06 PHP
4种PHP异步执行的常用方式
Dec 24 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 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自带的进位制之间的转换函数
2013/06/08 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
php调整服务器时间的方法
2015/04/03 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
异步传递消息系统的作用
2016/05/01 面试题
高中微机老师自我鉴定
2014/02/16 职场文书
大学学习计划书范文
2014/05/02 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
解决Pytorch中关于model.eval的问题
2021/05/22 Python