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 ss7.5的数据调用 (笔记)
Mar 08 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
php使用array_search函数实现数组查找的方法
Jun 12 PHP
php实现将Session写入数据库
Jul 26 PHP
PHP中的Session对象如何使用
Sep 25 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
php构造函数与析构函数
Apr 23 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
php中序列化与反序列化详解
Feb 13 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
PHP中isset、empty的用法与区别示例详解
Nov 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判断是否为空的几个函数对比
2015/04/21 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
Js callBack 返回前一页的js方法
2008/11/30 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
深入浅析JS中的严格模式
2018/06/04 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
python 除法保留两位小数点的方法
2018/07/16 Python
在python中bool函数的取值方法
2018/11/01 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
介绍一下游标
2012/01/10 面试题
保护环境标语
2014/06/09 职场文书
生物技术专业求职信
2014/06/10 职场文书
中华魂放飞梦想演讲稿
2014/08/26 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
家庭贫困证明
2015/06/16 职场文书
亲戚关系证明
2015/06/24 职场文书
人民调解协议书
2016/03/21 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android