网站技术分析

一点一滴的积累,一点一滴的沉淀!

php 加解密 算法

<?php
/**
 * 加解密算法
 * E加 * D解
 */
header("content-type:text/html;charset=utf-8");
function Crypto($string,$operation,$key='www.sjyme.cn'){
    $keys=md5(sha1(md5($key)));
    $key_length=strlen($keys);
    $string=$operation=='D'?base64_decode($string):substr(md5($string.$keys),0,23).$string;
    $string_length=strlen($string);
    $rndkey=$box=array();
    $result='';
    for($i=0;$i<=255;$i++){
        $rndkey[$i]=ord($keys[$i%$key_length]);
        $box[$i]=$i;
    }
    for($j=$i=0;$i<256;$i++){
        $j=($j+$box[$i]+$rndkey[$i])%256;
        $tmp=$box[$i];
        $box[$i]=$box[$j];
        $box[$j]=$tmp;
    }
    for($a=$j=$i=0;$i<$string_length;$i++){
        $a=($a+1)%256;
        $j=($j+$box[$a])%256;
        $tmp=$box[$a];
        $box[$a]=$box[$j];
        $box[$j]=$tmp;
        $result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256]));
    }
    if($operation=='D'){
        if(substr($result,0,23)==substr(md5(substr($result,23).$keys),0,23)){
            return substr($result,23);
        }else{
            return'';
        }
    }else{
        return str_replace('=','',base64_encode($result));
    }
}
//用法
if( $str =$_POST['jiami']){
    $key = 'www.fyunw.com';
    $token = encrypt($str, 'E', $key);
    echo '加密:'.encrypt($str, 'E', $key);
}
if( $str =$_POST['jiemi']){
    $key = 'www.fyunw.com';
    $token = encrypt($str, 'E', $key);
    echo '解密:'.encrypt($str, 'D', $key);
}

?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
        加密
        <label>
            <input name="jiami" type="text" id="image" /> <input type="submit" name="Submit" value="加密" />
        </label>
    </form>
    <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
        解密
        <label>
            <input name="jiemi" type="text" id="image" /> <input type="submit" name="Submit" value="解密" />
        </label>
    </form>
</body>
</html>
 

打赏 支付宝打赏 微信打赏

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero

蜀ICP备18016898;版权:2016 @陸仴 

Music