xiaohaogaoshou 2015-04-29 09:28 采纳率: 0%
浏览 1598

php解密代码转换成c#代码

 function mymd5($string,$action="EN")
{ //字符串加密和解密
    global $webdb,$onlineip;//$webdb系统的一些配置信息,$onlineip 客户端ip 这个函数好像没有用到
    $secret_string = $webdb[mymd5].'5*j,.^&;?.%#@!'; //绝密字符串,可以任意设定
    //$webdb[mymd5] 可以自己设置一个字符串
    if($string=="") return "";
    if($action=="EN") $md5code=substr(md5($string),8,10); //动作是加密,则取明文的MD5码的 8到10位字符
    else//动作是解密(DE)
    {
        $md5code=substr($string,-10);//取$string后10个字符
        $string=substr($string,0,strlen($string)-10);//把$string倒数十个字符去掉
    }

    $key = md5($md5code.$secret_string);//密匙
    $string = ($action=="EN"?$string:base64_decode($string));//如果动作是解密则将要解密的字符串进行MIME base64解码

    $len = strlen($key);
    $code = "";
    for($i=0; $i<strlen($string); $i++)
    {
        $k = $i%$len;
        $code .= $string[$i]^$key[$k];
    }
    $code = ($action == "DE" ? (substr(md5($code),8,10)==$md5code?$code:NULL) : base64_encode($code)."$md5code");
    return $code;
}
//mymd5($ccc,"EN") 加密  mymd5($ccc,"DE")  解密
  • 写回答

3条回答 默认 最新

  • threenewbee 2015-04-29 12:09
    关注

    都有注释了,转换应该不难。
    没有php环境,你有环境的话,你可以把这个代码拆分成几个部分,比较每一步的输出是否和php的一致,直到整个转换完成。

    评论

报告相同问题?

悬赏问题

  • ¥15 MapReduce实现倒排索引失败
  • ¥15 luckysheet
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题