php 开发中加密的几种方法总结

yipeiwu_com6年前PHP代码库

1,使用crypt()函数进行加密

crypt()函数可以进行单项加密,具体语法如下:

string crypt(string str[,tring salt]) 

其中 str是要加密的字符串,salt为加密时使用的干扰串,如果省掉第二个参数,就会随机生成一个干扰串。crypt()函数支持四种算法和长度。具体如下表:
这里写图片描述

示例代码如下:

<?php 

$str ="I'm jack!!!";
echo "加密前的str为:".$str."<br>";
$cryptStr =crypt($str);
echo "加密后的str为:".$cryptStr."<br>";

?>

运行结果如下:

第一次运行:


这里写图片描述 

第二次运行:


这里写图片描述 

第三次运行的结果:


这里写图片描述 

可以看到每次加密后的结果都不一样。那么该如何判断加密后的字符串呢,这个时候你会发现salt就该派上用场了。哈哈。下面我们通过一段代码来演示下:

<?php 

$str ="I'm jack!!!";
echo "加密前的str为:".$str."<br>";
$cryptStr =crypt($str,"doc");
echo "加密后的str为:".$cryptStr."<br>";

?>

运行结果如下:


这里写图片描述 

你会发现无论运行多少次加密串是不变的,这样我们就可以判断加密后的字符串了。

2,使用md5()函数进行加密

md5()函数使用MD5算法。语法格式如下:

string md5(string str[,bool raw_ouput]) 

其中str为要加密的明文,raw_output参数如果设置为true,则返回一个二进制的密文,默认为false。

3,使用sha1()函数进行加密

语法格式如下:

string sha1(string str[,bool,raw_output]) 

str为要加密的明文,raw_output如果为true,那么返回一个20位的二进制数。默认raw_output为false。

感谢阅读, 希望能帮助到大家,谢谢大家对本站的支持!

相关文章

详解PHP多个进程配合redis的有序集合实现大文件去重

详解PHP多个进程配合redis的有序集合实现大文件去重

1.对一个大文件比如我的文件为 -rw-r--r-- 1 ubuntu ubuntu 9.1G Mar 1 17:53 2018-12-awk-uniq.txt 2.使用split命令切...

php处理斐波那契数列非递归方法

我自己构思了下,实际上程序来解决这个事情,就是一个偏移量的问题。首先看数列::1、1、2、3、5、8、13、21、34数列的下一个数是前2个数字之和,以此类推。 程序处理的话,实际上就是...

PHP导入导出Excel代码

一.导入   导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn。(注意两个文件有引用关系) <?php /...

Redis构建分布式锁

Redis构建分布式锁

1、前言 为什么要构建锁呢?因为构建合适的锁可以在高并发下能够保持数据的一致性,即客户端在执行连贯的命令时上锁的数据不会被别的客户端的更改而发生错误。同时还能够保证命令执行的成功率。 看...

php递归实现无限分类的方法

本文实例讲述了php递归实现无限分类的方法。分享给大家供大家参考。具体如下: <?php $rows = array( array( 'id' =>...