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的输入输出流
Feb 14 PHP
详解PHP显示MySQL数据的三种方法
Jun 05 PHP
php 进度条实现代码
Mar 10 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
PHP 采集获取指定网址的内容
Jan 05 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
PHP中require和include路径问题详解
Dec 25 PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 PHP
thinkPHP学习笔记之安装配置篇
Mar 05 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
浅谈php常用的7大框架的优缺点
Jul 20 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 Switch 语句之学习笔记
2013/09/21 PHP
php url路由入门实例
2014/04/23 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
微信小程序云开发 生成带参小程序码流程
2019/05/18 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
浅谈Python协程
2020/06/17 Python
初中生个人学习的自我评价
2013/12/04 职场文书
高三毕业生自我鉴定
2013/12/20 职场文书
报关员个人职业生涯规划书
2014/03/12 职场文书
yy婚礼主持词
2014/03/14 职场文书
婚育证明样本
2015/06/16 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
Spring 使用注解开发
2022/05/20 Java/Android