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 相关文章推荐
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
php做下载文件的实现代码及文件名中乱码解决方法
Feb 03 PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 PHP
PHP中file_get_contents高?用法实例
Sep 24 PHP
php生成随机颜色的方法
Nov 13 PHP
PHP Try-catch 语句使用技巧
Feb 28 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
php微信高级接口群发 多客服
Jun 23 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 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
Search Engine Friendly的URL设计
2006/10/09 PHP
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
Python中表示字符串的三种方法
2017/09/06 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
基于keras中的回调函数用法说明
2020/06/17 Python
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
幼师自我鉴定范文
2013/10/01 职场文书
信息部岗位职责
2013/11/12 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
四年级科学教学反思
2014/02/10 职场文书
工程项目建议书范文
2014/03/12 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
运动会表扬稿
2015/01/16 职场文书
公司行政管理制度范本
2015/08/05 职场文书
安全教育日主题班会
2015/08/13 职场文书
单位病假条范文
2015/08/17 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
基于Python实现的购物商城管理系统
2021/04/27 Python