url的参数值可以用何方式加密或改变显示? <a href="test.php?code={$var}">例如:上述的url不要显示实际的code值,取值时再恢复。要加密解密? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很多啊,例如base64_encode加密,base64_decode解密。 http://www.tmrfindia.org/ijcsa/V3I24.pdf RC4算法康盛把这算法用php实现了,函数名叫authcode,你很容易搜到,直接用也可以吧 利用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> <a href="test.php?keyVal={$listCell.code}">在Smarty下应该如何加密? 重要数据还是不要放在url中传送了吧 <?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脱了裤子放屁是要舒服些 ,嘿嘿~~ Hehe~我整套的PHP可都是穿着”裤子”的哟(-_-)看来只能在送到smarty之前加密了... 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); 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); 求解决文件上传问题 怎样在同一个页面实现简单的email地址验证啊 phpMyAdmin-3.0开始版本是不是 只能用在PHP5 MYSQL 5 或者更高的版本上??? Zent Cart PHP 开源项目用JAVA来二次开发可以实现吗?? PHP写的页面无法访问,报HTTP500错误,这个是怎么回事呀? 有人知道这个页面里面显示代码的模块是怎么做的吗? 谢谢 求救难题!! php里的字符串查找函数是什么? 怎么区别对待校园网内、外用户访问的权限分配 sql语句将两个表的内容合并 求教:如何在另一页面获取取得的值
和其他加解密方式。$_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>
$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脱了裤子放屁是要舒服些 ,嘿嘿~~
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);
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);