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 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
PHP发送短信代码分享
Aug 11 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
PHP session会话操作技巧小结
Sep 27 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
Dec 06 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
PHP实现简单的模板引擎功能示例
Sep 02 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分页函数
2006/07/08 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
读jQuery之三(构建选择器)
2011/06/11 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
Python程序设计入门(5)类的使用简介
2014/06/16 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
Python3内置模块random随机方法小结
2019/07/13 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
python路径的写法及目录的获取方式
2019/12/26 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
几道数据库的面试题或笔试题
2014/05/31 面试题
出国考察邀请函
2014/01/21 职场文书
文明生主要事迹
2014/05/25 职场文书
2014年检验科工作总结
2014/11/22 职场文书
捐款感谢信
2015/01/20 职场文书
年底个人总结范文
2015/03/10 职场文书
雷锋电影观后感
2015/06/10 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang