• post提交加密


    有的时候 我们需要和flash交互  这就涉及到数据的交互 flash给我们提交数据 我们往处理后添加数据库.

    这个时候 就会有安全问题  flash提交的数据 可能被截获。然后把伪装提交数据。 比如说flash游戏  玩完游戏加积分 然后把积分加到数据库里 。每次玩完flash都提交post提交一个   userid:2,gamenumber:30   如果被别人截获后 (推荐个截取工具 httpwatch) 修改下 userid:2,gamenumber:300000  然后就一下子加了几万份 (曾经QQ空间里的游戏 我就这样刷分过 全部刷到9999999)  这就有很大的安全隐患  尤其是我们的积分可以兑换实物的时候

    目前网上的做法是使用 https  协议  还有另一种常用的做法是 调用webservice

    我这里使用的是另一种 

    首先 和flash开发人员 约定一个MD5公钥 (比如 wlf    然后把wlf用MD5加密(也可以用别的方式加密)   变为fc6796eaaf289c444c76c8fc818bf73c )

    然后flash 提交的时候  假设提交 userid:2,gamenumber:30  这是不安全的 现在开始加密 现在他要给我传的是

    userid:2,gamenumber:30,t:2011051011053232,m:EUDHSKBHJSHDUIWHDJKHJ

    这里面 t 是时间戳 就是flash提交时的当前时间   m则很关键  m是个密钥  时间戳(这里是2011051011053232)+userid(这里是2)+gamenumber(这里是30)+公钥)   拼接成一个字符串 然后再用MD5加密出来的 

    现在 我们接受到了上述东西  其他人也截获了上述东西

    我们把 时间戳+userid+gamenumber+公钥  组成个字符串 然后用MD5加密  看看是不是与传过来的m相等 相当 则说明没有被篡改活

    如果对方把gamenumber改为90  那么m一定是不相同的 则是篡改过的

    如果谁有更好的方法 希望告诉下~~谢谢

    下面贴个方法~~

    /// <summary>
    /// 判断传过来的参数连一起在MD5加密后是与传过来的密钥相等
    /// </summary>
    /// <param name="miyao">传过来的密钥</param>
    /// <param name="parm">传过来的参数</param>
    /// <returns>返回true则说明没有篡改 false则说明篡改过</returns>
    public static bool IsTrue(string miyao, params string[] parm)
    {
    StringBuilder sb
    = new StringBuilder();
    foreach (string s in parm)
    {
    sb.Append(s);
    }
    sb.Append(GameKey);
    //公钥
    string m= EncryptMD5(sb.ToString());//拼接后MD5加密的密钥
    if (m.ToLower() == miyao.ToLower())
    {
    return true;
    }
    else
    {
    return false;
    }
    }

    /// <summary>
    /// MD5加密
    /// </summary>
    /// <param name="txt"></param>
    /// <returns></returns>
    public static string EncryptMD5(string txt)
    {
    return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txt, "MD5");
    }

  • 相关阅读:
    treeview 递归
    循环递归遍历XML文档或按某要求遍历XML文档
    SQL Server、IIS和 ASP.NET安全配置
    C# USING 语句块
    C# 基础语法
    不安装oracle 客户端连接oracle DDTeck连接语法
    Java中堆和栈的区别
    C# 采用OLDB方式连接EXCEL
    EXCEL 列宽
    C# 问号用法
  • 原文地址:https://www.cnblogs.com/wlflovenet/p/post.html
Copyright © 2020-2023  润新知