加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php5数字型字符串加解密代码

发布时间:2020-05-29 00:14:27 所属栏目:PHP 来源:互联网
导读:对应awk版加解密程序的PHP实现代码

<?php
/----------------------------------------------------------------------------
ScriptName:encrypt.php
CreationDate:2008-4-710:36
LastModified:2008-4-1216:00
Author:meyu
Copyright(c)2007
Purpose:数字字符串简易加解密
----------------------------------------------------------------------------*/ classEncryption{
/
最终的密文代码,可设为任意不重复的10位英文字符a-zA-Z
/
private$replacement='urskydMeIV'; /
增加的密文第一位,可设为1位除0以外的整数,即1-9
/
private$prefix="8"; /
公钥,长度小于8位的正整数
/
private$match="111111"; /
转换后对照数组
/
private$replaceenc;
private$replacedec; function__construct(){
for($i=0;$i<10;$i++){
$this->replaceenc['/'.$i.'/']=$this->replacement{$i};
$this->replacedec['/'.$this->replacement{$i}.'/']=$i;
}
} publicfunctionencrypt($str){
returnpreg_replace(
array_keys($this->replaceenc),
$this->replaceenc,
$this->mynotin(preg_replace("/(.)(.)/","${2}${1}",$str))
);
} publicfunctiondecrypt($str){
returnpreg_replace("/(.)(.)/",
$this->mynotout(preg_replace(array_keys($this->replacedec),$this->replacedec,$str))
);
} privatefunctionmynotin($str){
$str_out="";
$i=0;
while(isset($str{7$i})){
$str_out.=(($this->prefix.substr($str,$i
7,7))+0)^$this->match;
$i++;
}
return$str_out;
} privatefunctionmynotout($str){
$str_out="";
$i=0;
while(isset($str{8$i})){
$str_out.=substr((substr($str,$i
8,8)+0)^$this->match,1);
$i++;
}
return$str_out;
}
}
?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读