PHP加密解密原理-日常操作
温馨提示:这篇文章已超过571天没有更新,请注意相关的内容是否还可用!
这篇文章主要介绍“PHP加密解密函数的示例代码讲解”,在日常操作中php源码 未加密 文章,相信这些人在PHP加密解密函数的例子代码讲解问题上存在疑问,小编查阅了各种资料,整理出简洁好用的操作方式,希望对你们解答”PHP加密解密函数的示例代码讲解”的疑问有所帮助!接下去,请跟随小编一出来学习吧!
项目中有时我们必须使用PHP将特定的信息进行加密,也就是借助加密算法生成一个加密字节串,这个加密后的数组串可以借助解密算法进行解读,便于程序对解密后的信息进行处理。
最常用的应用在客户登录或者一些API数据交换的场景。
笔者收录了一些非常经典的PHP加密解密函数代码,分享给你们。加密解密原理通常都是借助一定的加密解密算法,将密码加入到算法中,最终受到加密解密结果。
1、非常给力的加密函数,!经典代码(带详解):
复制代码代码如下:
($,$='',$key='',$=0){
//动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙
$=4;
//密匙
$key=md5($key?$key:$['']);
//密匙a会参与加解密
$keya=md5(($key,0,16));
//密匙b会拿来做数据完整性验证
$keyb=md5(($key,16,16));
//密匙c用于变化生成的密文
$keyc=$?($==''?($,0,$):
(md5(()),-$)):'';
//参与运算的密匙
$=$keya.md5($keya.$keyc);
$=($);
//明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$keyb(密匙b),
//解密时会借助这个密匙验证数据完整性
//假如是解码的话,会从第$位开始,因为密文前$位保存动态密匙,以确保解密正确
$=$==''?(($,$)):
('0d',$?$+time():0).(md5($.$keyb),0,16).$;
$=($);
$='';
$box=range(0,255);
$=array();
//产生密匙簿
for($i=0;$i0)&&
($,10,16)==(md5(($,26).$keyb),0,16)){
($,26);
}else{
'';
}
}else{
//把动态密匙保存在密文里,这只是为什么同样的明文,生产不同密文后能解读的理由
//因为加密后的密文可能是一些特殊字符,复制过程或许会丢失php源码 未加密 文章,所以用编码
$keyc.('=','',($));
}
}
函数($,$,$key,$)中的$:字符串,明文或密文;$:表示解读,其它表示加密;$key:密匙;$:密文有效期。
用法:
复制代码代码如下:
$str='';
$key='#39;;
echo($str,'',$key,0);//加密
$str='';
echo($str,'',$key,0);//解密
2、加解密函数():
复制代码代码如下:
($,$,$key=''){
$key=md5($key);
$=($key);
$=$=='D'?($):(md5($.$key),0,8).$;
$=($);
$=$box=array();
$='';
for($i=0;$i
本文来自网络,如有侵权请联系网站客服进行删除
还没有评论,来说两句吧...