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+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
一个php导出oracle库的php代码
Apr 20 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
php中try catch捕获异常实例详解
Nov 21 PHP
php相对当前文件include其它文件的方法
Mar 13 PHP
Yii2中使用asset压缩js,css文件的方法
Nov 24 PHP
Yii2.0中使用js异步删除示例
Mar 10 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 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
杏林同学录(二)
2006/10/09 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
jquery 指南/入门基础
2007/11/30 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
ant design实现圈选功能
2019/12/17 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
Python回调函数用法实例详解
2015/07/02 Python
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
Python实现不规则图形填充的思路
2020/02/02 Python
python统计字符的个数代码实例
2020/02/07 Python
python导入库的具体方法
2020/06/18 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
数据管理员的自我评价分享
2013/11/15 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
党员政治学习材料
2014/05/14 职场文书
先进班集体事迹材料
2014/12/25 职场文书
应聘教师求职信范文
2015/03/20 职场文书
体育部部长竞选稿
2015/11/21 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
Python基础之变量的相关知识总结
2021/06/23 Python