<?php ERROR_REPORTING(0); $email = base64_decode($argv[1]); $strArray = iconv('gb2312', 'utf-8//IGNORE', 'cookie_crypto_key_initial' . $email); $custid = dang_decrypt_text($argv[2], $strArray); echo $custid; /*---------------------------------------*\ | 函数作用:返回一个字符串md5之后的字符串 | | $strArray:字符串类型 | \*---------------------------------------*/ function MakeMD5($strArray) { $sb = md5($strArray); $sb = pack('H*', $sb); return $sb; } /*---------------------------------------------*\ | 函数作用:对.net的3DES加密的字符串进行解密 | | $key:加密时候使用的key | | $iv:初始向量 | | $text:需要解密的字符串 | \*---------------------------------------------*/ function decryptNET3DES($key, $iv, $text) { if (empty($text)) { return ""; } $td = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_ECB, ''); // 把key值补充完整,在PHP里面如果key值不够24位剩下的会自动补0,但是在.net中,会做一个循环把前面的值补充到后面补够24位,所以这里强制补前面的字符 $key_add = 24 - strlen($key); $key .= substr($key, 0, $key_add);
<?php ERROR_REPORTING(0); $email = base64_decode($argv[1]); $viptype = dang_decrypt_text($argv[2], iconv('gb2312', 'utf-8', $email)); echo $email; echo "\n"; echo $viptype; echo "\n"; /*---------------------------------------*\ | 函数作用:返回一个字符串md5之后的字符串 | | $strArray:字符串类型 | \*---------------------------------------*/ function MakeMD5($strArray) { $sb = md5($strArray); var_dump($sb); $sb = pack('H*', $sb); return $sb; } /*---------------------------------------------*\ | 函数作用:对.net的3DES加密的字符串进行解密 | | $key:加密时候使用的key | | $iv:初始向量 | | $text:需要解密的字符串 | \*---------------------------------------------*/ function decryptNET3DES($key, $iv, $text) { if (empty($text)) { return ""; }