时间:2021-05-26
<?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("/(.)(.)/","${2}${1}",
$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;
}
}
?>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1:数字型参数使用类似intval,floatval这样的方法强制过滤。2:字符串型参数使用类似mysql_real_escape_string这样的方法强制过
程序中经常使用的PHP加密解密字符串函数代码如下:/******************************************************
1、PHP加密解密PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密。funct
第一个为大家分享的是C#字符串使用密钥进行加解密代码,具体内容如下publicclassDesEncrypt{//////算法偏移量///conststring
在PHP5中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对象、资源等。我们无法说PHP5中多态的是变量。我们只能说在PHP5中,多态应用在方