PHP常见加密函数用法示例【crypt与md5】

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP常见加密函数用法。分享给大家供大家参考,具体如下:

1.crypt()函数

crypt()函数用于返回使用DES、Blowfish或MD5算法加密过后的字符串,crypt(str,salt)接受2个参数,第1个为需要加密的字符串,第2个为盐值(加密干扰值,如果没有提供,则默认由PHP自动生成),返回的字符串为散列的字符串或者是一个少于13个字符的字符串;

<?php
//使用crypt()函数进行加密
$password = 'jb51.net';
//没有提供盐值
echo "加密前:".$password;
echo "加密后(无盐值):".crypt($password);
echo "<hr>";
//提供盐值
$salt = "good";
echo "加密后(有盐值):".crypt($password,$salt);
?>

加密的字符串为“jb51.net”:

第一次:

刷新后:

总结:通过刷新前与刷新后可以发现,crypt()函数如果没有盐值加密后的字符串的第2个$与第3个$之间的字符串的8个字符串是由PHP自动生成的,每刷新一次就变一次;crypt()函数如果定义了盐值后,只会截取盐值的前2位添加在加密后的字符串前且加密后的字符串是不变的。

注意:crypt()函数是一种单向算法,没有相应的解密函数。PHP添加盐值默认使用DES加密,如果salt这个字符串以$1$开头,以$结尾则是MD5加密,只会截取盐值的前八位添加在加密后的字符串前。

2.md5()函数

MD5函数格式:md5(string),返回一个32位的字符串,且MD5加密对于大小写敏感;MD5加密主要应用在校验网站用户密码上,用户注册时的密码经过MD5计算后存入数据库,当用户登录时,再把用户输入的密码经过MD5计算后与数据库中经过MD5加密的字符串进行比较。

<?php
//使用md5()函数进行加密
$password = 'jb51.net';
echo "加密前:".$password;
echo "<hr>";
echo "MD5加密后:".md5($password);
?>

结果如下:

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

文字在线加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在线加密工具:
http://tools.jb51.net/password/CreateMD5Password

在线散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php获取url字符串截取路径的文件名和扩展名的函数

php获取文件名复制代码 代码如下: function retrieve($url) { preg_match('/\/([^\/]+\.[a-z]+)[^\/]*$/',$url,$m...

3种方法轻松处理php开发中emoji表情的问题

背景 做微信开发的时候就会发现,存储微信昵称必不可少。 可这万恶的微信支持emoji表情做昵称,这就有点蛋疼了 一般Mysql表设计时,都是用UTF8字符集的。把带有emoji的昵称字段...

php blowfish加密解密算法

PHP Blowfish 算法的加密解密,供大家参考,具体内容如下 <?php /** * php blowfish 算法 * Class blowfish...

PHP自定义函数获取汉字首字母的方法

本文实例讲述了PHP自定义函数获取汉字首字母的方法。分享给大家供大家参考,具体如下: 首字母很重要,可以进行排序使用。 城市列表等等。 <?php /* * Creat...

PHP文件读写操作之文件写入代码

在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基...