MD5 加密

来源:互联网 发布:智云软件 编辑:程序博客网 时间:2024/06/16 06:05

MD5对一个东西加密   可以认为是不可还原的

1.客户端加密   服务端看md5是不是和数据库一致

2.服务端加密 再看和db是否一致

 

1的情况 网络传的是md5

    传密码   

 

 

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一定是不相同的 则是篡改过的

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

0 0
原创粉丝点击