日期:2014-05-17  浏览次数:20636 次

求下面这段代码是通过什么加密的
7HZ6jHSTbIQwasaXs2J66lXoH95gDSCBwaFOnbWsKfbPGQ%3D%3D

怎么用PHP加密或解密

麻烦哪位知道的大哥直接给PHP完整代码,谢谢了

------解决方案--------------------
加密方式很多种,最常见的是md5和sha1的编码,但是你这一串代码的表现方式不对,不管是md5还是sha1出来的结果基本都是小写的,我想不会有哪个高人闲着没事去把其中的代码随机性的转成大写吧.其次是长度也不对,除非是加密之后又切割过.所以基本上可以排除以上两种状况了.
我认为最大的可能是自己写的加密函数加密后的结果.而且我猜测这个字串很可能还可以反向回来.
记得discuz有里有这样一个函数,贴出来给你参考下.但是仅凭一串加密后的字符串想得知他用什么手法加密的,这是比较难的.

PHP code

//加密/可解密函数(要知道解密key才能解密)
function passport_encrypt($txt, $key){
    srand((double)microtime() * 1000000);
    $encrypt_key = md5(rand(0, 32000));
    $ctr = 0;
    $tmp = '';
    for($i = 0;$i < strlen($txt); $i++){
    $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
    $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
    }
    return base64_encode(passport_key($tmp, $key));
}

function passport_decrypt($txt, $key){
    $txt = passport_key(base64_decode($txt), $key);
    $tmp = '';
    for($i = 0;$i < strlen($txt); $i++){
    $md5 = $txt[$i];
    $tmp .= $txt[++$i] ^ $md5;
    }
    return $tmp;
}