服务器部分用servlet+ mysql实现,本文只针对逻辑部分无代码演示,如逻辑不够强请指正!
1.android端
- 设计好界面后,提交 user 和pwd 2个参数,其中pwd用md5加密
2.servlet端
- 提取android端发送的user和pwd,用user数值做成数据库查询命令查找是否已注册,如有返回false,如无则生成2个随机uuid作为用户的token加入mysql中存储!(UUID.randomUUID().toString();)
,返回给android端2个uuid值和一个true
3.android端
- 接收servlet返回值如果是false则提示用户,用户名重复,如ture则把2个uuid传入到本地用SharedPreferences保存,然后修改本地登录状态为true,默认设计称false.
以上初始注册逻辑结束,当需要再次上传数据时
1.android端
假设需要上传的数据为comment,提取本地的uuid2,uuid2+comment合并成一个字符串,并通过md5加密,得到数值为md5comment,然后把uuid1+md5comment合并成一个字符串,然后向servlet上传合并后的字符串和原始的comment2个数值
2.servlet端
接收加密字符和comnent的内容,加密字符使用substring命令提取前36位(因为uuid数值是36位),即为uuid1,36位后数值为加密数值,然后通过uuid1向数据库内查找uuid2的值,得到获取值后+comment进行加密,如果数值不同则表示,数据在发送途中被劫持,反之则代表数据正常,进行常规处理!
以上为后续数据完整性验证!有不当之处请指正!