<?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);
Exemplo n.º 2
0
<?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 "";
    }