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连mysql和oracle数据库性能比较
Oct 09 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
php实现的漂亮分页方法
Apr 17 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
Apr 25 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
php生成年月日下载列表的方法
Apr 24 PHP
php中file_exists函数使用详解
May 08 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
PHP Mysqli 常用代码集合
Nov 12 PHP
php版微信小店API二次开发及使用示例
Nov 12 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图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
php日期操作技巧小结
2016/06/25 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
Add a Table to a Word Document
2007/06/15 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
python 一维二维插值实例
2020/04/22 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
工程造价专业大学生自荐信
2013/10/01 职场文书
市场营销专业推荐信
2013/11/03 职场文书
初中政治教学反思
2014/01/17 职场文书
乡下人家教学反思
2014/02/01 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
合作协议书模板2014
2014/09/26 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
民主评议党员个人总结
2015/02/13 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书