<a href="test.php?code={$var}">例如:上述的url不要显示实际的code值,取值时再恢复。要加密解密?

解决方案 »

  1.   

    很多啊,例如base64_encode加密,base64_decode解密。
      

  2.   

    http://www.tmrfindia.org/ijcsa/V3I24.pdf  RC4算法康盛把这算法用php实现了,函数名叫authcode,你很容易搜到,直接用也可以吧
      

  3.   

    利用josn_de/encode
    和其他加解密方式。$_GET = json_decode(base64_decode($_SERVER['QUERY_STRING']));
    print_r($_GET);$querys=base64_encode(json_encode($_GET));
    //base64加解密可以换成自己的方式。<a href="<?php echo $_SERVER['PHP_SELF'];?>?<?php echo $querys?>">test</a>
      

  4.   

    <a href="test.php?keyVal={$listCell.code}">在Smarty下应该如何加密?
      

  5.   

    重要数据还是不要放在url中传送了吧
      

  6.   

    <?php
     $number = 3;
     $url    = "我是一只鸟";
     for($i = 0;$i<$number;$i++){
      $url = base64_encode($url);
     }
     echo $url;
     for($i = 0;$i<$number;$i++){
      $url = base64_decode($url);
     }
     echo "<br />".$url;
    ?>
    /////////别人就不可解密了/////////
    smarty就一个显示,你在它代码中加上php就行了,也可以自定义它的函数libs\plugins\下
    smarty脱了裤子放屁是要舒服些 ,嘿嘿~~
      

  7.   

    Hehe~我整套的PHP可都是穿着”裤子”的哟(-_-)看来只能在送到smarty之前加密了...
      

  8.   

    class CryptUtil {
    const DES = MCRYPT_3DES; //24*8=192
    const BLOWFISH = MCRYPT_BLOWFISH; //56*8=448
    const RIJNDAEL = MCRYPT_RIJNDAEL_256;
    const CAST = MCRYPT_CAST_256; private static function formatKey($key, $cipher) {
    $key_len = mcrypt_get_key_size($cipher, MCRYPT_MODE_ECB);
    return strlen($key) > $key_len ? mhash_keygen_s2k(MHASH_MD5, $key, __FILE__, $key_len) : $key;
    } private static function xorCrypt($key, $content) {
    $key_len = strlen($key);
    $result = $content;
    for ($i = strlen($content) - 1; $i >= 0; $i --) {
    $result{$i} = $content{$i} ^ $key{$i % $key_len};
    }
    return $result;
    } public static function encrypt($key, $content, $cipher = null) {
    $content = pack('L', crc32($content)).pack('L', strlen($content)).$content;
    if (!isset($cipher)) {
    return self::xorCrypt($key, $content);
    }
    return mcrypt_encrypt(
    $cipher,
    self::formatKey($key, $cipher),
    $content,
    MCRYPT_MODE_ECB,
    mcrypt_create_iv(
    mcrypt_get_iv_size(
    $cipher,
    MCRYPT_MODE_ECB
    ),
    MCRYPT_RAND
    )
    );
    } public static function decrypt($key, $content, $throw = false, $cipher = null) {
    $decrypt = isset($cipher) ?
    mcrypt_decrypt(
    $cipher,
    self::formatKey($key, $cipher),
    $content,
    MCRYPT_MODE_ECB,
    mcrypt_create_iv(
    mcrypt_get_iv_size(
    $cipher,
    MCRYPT_MODE_ECB
    ),
    MCRYPT_RAND
    )
    ) :
    self::xorCrypt($key, $content);
    $crc = current(unpack('L', substr($decrypt, 0, 4)));
    $len = current(unpack('L', substr($decrypt, 4, 8)));
    $decrypt = substr($decrypt, 8, $len);
    if (crc32($decrypt) !== $crc) {
    if ($throw) {
    throw new Exception('Decrypt integrity check failed.');
    } else {
    return;
    }
    }
    return $decrypt;
    }
    }默认采用异或加密,快速但安全性差。
    $key = 'hblfas#$%DFsdf';
    $content = '密文密文密文密文密文密文密文';
    $encode = CryptUtil::encrypt($key, $content);
    echo CryptUtil::decrypt($key, $content);
      

  9.   

    class CryptUtil {
    const DES = MCRYPT_3DES; //24*8=192
    const BLOWFISH = MCRYPT_BLOWFISH; //56*8=448
    const RIJNDAEL = MCRYPT_RIJNDAEL_256;
    const CAST = MCRYPT_CAST_256; private static function formatKey($key, $cipher) {
    $key_len = mcrypt_get_key_size($cipher, MCRYPT_MODE_ECB);
    return strlen($key) > $key_len ? mhash_keygen_s2k(MHASH_MD5, $key, __FILE__, $key_len) : $key;
    } private static function xorCrypt($key, $content) {
    $key_len = strlen($key);
    $result = $content;
    for ($i = strlen($content) - 1; $i >= 0; $i --) {
    $result{$i} = $content{$i} ^ $key{$i % $key_len};
    }
    return $result;
    } public static function encrypt($key, $content, $cipher = null) {
    $content = pack('L', crc32($content)).pack('L', strlen($content)).$content;
    if (!isset($cipher)) {
    return self::xorCrypt($key, $content);
    }
    return mcrypt_encrypt(
    $cipher,
    self::formatKey($key, $cipher),
    $content,
    MCRYPT_MODE_ECB,
    mcrypt_create_iv(
    mcrypt_get_iv_size(
    $cipher,
    MCRYPT_MODE_ECB
    ),
    MCRYPT_RAND
    )
    );
    } public static function decrypt($key, $content, $throw = false, $cipher = null) {
    $decrypt = isset($cipher) ?
    mcrypt_decrypt(
    $cipher,
    self::formatKey($key, $cipher),
    $content,
    MCRYPT_MODE_ECB,
    mcrypt_create_iv(
    mcrypt_get_iv_size(
    $cipher,
    MCRYPT_MODE_ECB
    ),
    MCRYPT_RAND
    )
    ) :
    self::xorCrypt($key, $content);
    $crc = current(unpack('L', substr($decrypt, 0, 4)));
    $len = current(unpack('L', substr($decrypt, 4, 8)));
    $decrypt = substr($decrypt, 8, $len);
    if (crc32($decrypt) !== $crc) {
    if ($throw) {
    throw new Exception('Decrypt integrity check failed.');
    } else {
    return;
    }
    }
    return $decrypt;
    }
    }默认采用异或加密,快速但安全性差。
    $key = 'hblfas#$%DFsdf';
    $content = '密文密文密文密文密文密文密文';
    $encode = CryptUtil::encrypt($key, $content);
    echo CryptUtil::decrypt($key, $encode);