谁能给我写一个这样的方法加密的程序啊?我研究了很久不会写<?php
$License = "ATAEYVZjBWQHcFY5BmoHdg=="; //域名加密后得到的字符串;
$key ="df3c7a394a38f711c6d04b6f30fd0001";//指定的MD5 KEY 这个可以不管。
//echo strlen(base64_encode($d));
function piged( $txt, $encrypt_key )
{
$encrypt_key = md5( $encrypt_key );
$ctr = 0;
$tmp = "";
$i = 0;
for ( ; $i < strlen( $txt ); ++$i )
{
if ( $ctr == strlen( $encrypt_key ) )
{
$ctr = 0;
}
$tmp .= substr( $encrypt_key, $ctr, 1 ) ^ substr( $txt, $i, 1 );
echo "<br>".$tmp; //输出循环过程
++$ctr;
}
return $tmp;
}
function depig( $txt, $key )
{
$txt = piged( base64_decode( $txt ), $key );
$tmp = "";
$i = 0;
for ( ; $i < strlen( $txt ); ++$i )
{
$md5 = substr( $txt, $i, 1 );++$i;
echo $md5;
$tmp .= substr( $txt, $i, 1 ) ^ $md5;
echo "<br>".$tmp;//输出循环过程
}
return $tmp;
}
$La = depig( $License, $key );
echo "<br>解密结果:";
print_r($La); //最终解密结果;
echo "<br>".base64_decode( $License )."<br>". md5( $key );
echo base64_encode($d); 
?>

解决方案 »

  1.   

    http://blog.csdn.net/SysTem128/archive/2008/04/17/2301108.aspx
    一个简单基于密匙的加解密类
      

  2.   

    base64是一种编码,不是加密吧~
      

  3.   

    discuz里有个authcode函数,就可以实现加密、解密的功能。
    建议LZ下载一个研究,很强大、好用。
    代码我就不贴了。
      

  4.   

    关键在这一步,
    $tmp .= substr( $txt, $i, 1 ) ^ $md5;这个如果你要解密的话只能遍历=$tmp的所有两个字符串的^就是说2391.net 可以加密成100种(假设)加密值,但所有加密值反向只能推出一个明文结果。
    a(明文)<=>b c d e(加密值)等
    我没有写遍历 只写了可以最简单的一种加密结果。

    仅供参考。

    <?php
    $License = "ATAEYVZjBWQHcFY5BmoHdg=="; //域名加密后得到的字符串;
    $key ="df3c7a394a38f711c6d04b6f30fd0001";//指定的MD5 KEY 这个可以不管。
    function piged( $txt, $encrypt_key ){
    $encrypt_key = md5( $encrypt_key );
    $ctr = 0;
    $tmp = "";
    $i = 0; for ( ; $i < strlen( $txt ); ++$i ){
    if ( $ctr == strlen( $encrypt_key ) ){
    $ctr = 0;
    }
    $tmp .= substr( $encrypt_key, $ctr, 1 ) ^ substr( $txt, $i, 1 );
    ++$ctr;
    }
    return $tmp;
    }
    function depig( $txt, $key ){
    $txt = piged( base64_decode( $txt ), $key );
    $tmp = "";
    $i = 0;
    for ( ; $i < strlen( $txt ); ++$i ){
    $md5 = substr( $txt, $i, 1 ); ++$i;
    $tmp .= substr( $txt, $i, 1 ) ^ $md5;
    }
    return $tmp;
    }function encode($txt, $key) {
    $tmp = "";
    for($i = 0;$i<strlen($txt);$i++){
    $tmp .= substr($txt, $i, 1) .chr(0);
    }
    return base64_encode(piged($tmp, $key));
    }$domain = "www.163.com";
    $encrypt_code = encode($domain, $key);
    echo depig($encrypt_code, $key);
    ?>
      

  5.   

    BASE64不是一种加密、解密算法,只是一种类似转码的算法而已。另外,LZ也不用造轮子了,PHP本身就有base64_decode/encode函数可以使用。
      

  6.   

    base_64不是加密算法,只能算是一种字符编码算法,可以encode也可以decode
      

  7.   

    base64不是加密!
    而且,PHP不适合直接作复杂的逻辑处理。
    最好还是直接用PHP函数。base64_encode函数本身也不是用PHP写的,如果你用php写同样功能,就算能写出来,效率也是非常低的。