当前位置 : 主页 > 网络编程 > PHP >

php加密/解密函數

来源:互联网 收集:自由互联 发布时间:2021-06-30
php加密/解密函數 加密/解密函數 用法 var_dump(Fun::Jmen('a啊',$_ENV['Only'])); var_dump(Fun::Jmun('ADYAsVzEX94%3D',$_ENV['Only'])); 參數: $str:str型,需要加密或解密的內容 $key:str型,密鈅(加密和解密的密鈅必
php加密/解密函數
加密/解密函數
用法
  var_dump(Fun::Jmen('a啊',$_ENV['Only']));
  var_dump(Fun::Jmun('ADYAsVzEX94%3D',$_ENV['Only']));
參數:
  $str:str型,需要加密或解密的內容
  $key:str型,密鈅(加密和解密的密鈅必須相同)
返回:
  str型,解密或解密完的內容
 
/**
    加密/解密函數
    用法
        var_dump(Fun::Jmen('a啊',$_ENV['Only']));
        var_dump(Fun::Jmun('ADYAsVzEX94%3D',$_ENV['Only']));
    參數:
        $str:str型,需要加密或解密的內容
        $key:str型,密鈅(加密和解密的密鈅必須相同)
    返回:
        str型,解密或解密完的內容
/**/
public static function Jmen($str,$key){
    $encrypt_key=md5(mt_rand(0,100));$ctr=0;$tmp='';
    for($i=0;$i<strlen($str);$i++){
        if($ctr==strlen($encrypt_key)){$ctr=0;}$tmp.=substr($encrypt_key,$ctr,1).(substr($str,$i,1) ^ substr($encrypt_key,$ctr,1));$ctr++;
    }
    unset($encrypt_key,$ctr,$str);
    return rawurlencode(base64_encode(self::_m_($tmp,$key)));
}
public static function Jmun($str,$key){
    $txt=self::_m_(base64_decode(rawurldecode($str)),$key);$tmp='';
    for($i=0;$i<strlen($txt);$i++){$md5=substr($txt,$i,1);$i++;$tmp.=(substr($txt,$i,1) ^ $md5);}
    unset($txt,$md5,$str,$key);
    return $tmp;
}
private static function _m_($txt,$key){
    $key=md5($key);$ctr=0;$tmp='';
    for($i=0;$i<strlen($txt);$i++){if($ctr==strlen($key)){$ctr=0;}$tmp.=substr($txt,$i,1) ^ substr($key,$ctr,1);$ctr++;}
    return $tmp;
}

网友评论