如果本地传输个服务器三个参数 比如 "AAAA" "BBBB" "CCCC" 那么 服务器收到参数后如何确保这三个参数是没有被修改过的呢很简单方式 多传输一个参数 比如 这个校验的参数是 "我是校验的字符串"
那么一起发给服务器的是 4个参数 "AAAA" "BBBB" "CCCC" "我是校验的字符串"
当服务端收到四个参数 就会计算判断最后一个参数是否正确 不正确就不处理或者给客户端发个退出游戏命令
如何去计算最后一个字符串呢
客户端本地和服务端都保存一个计算用的字符串 比如 "www.pd521.com"
第四个参数计算方式就是 md5("AAAABBBBCCCCwww.pd521.com")="c8a19b5a401771b9bc0b35439c5f103f";
完整的四个参数就是 "AAAA" "BBBB" "CCCC" "c8a19b5a401771b9bc0b35439c5f103f"
服务器收到之后 也是把前三个参数和 服务器保存的参数"www.pd521.com" 做md5计算 然后比对第四个参数 判断是否一样
代码就不写了.....
前两篇已经写了如何用md5用sha1校验了......
补充啊 这个方式不一定非要用网络传输方面 本地取值保存校验也是可以的
配置文件里存储血量时候可以和某字符串比如"www.pd521.com"计算的md5一起存储
用的时候给拆开 然后计算md5值是否一样
|