web(网页端)与后端API接口数据加密方式:数据验证

做个笔记 前端数据加密方式很多 常见的已经很多了 md5 des等等 

对于数据校验也可以用crc32来进行

前端通过把重要的数据进行组合成字符串(排序组合或是字符串拼接都可以)

然后通过crc32生成一个16进制的hash(我们暂定为hash)然后传给服务器 服务器再将收到的数据进行拼接然后通过后端进行crc32生成hash和前端传来的hash进行比对....虽然和md5一样 但是crc32很短....有时候我都容易以为是随机字符串....

 

php端crc32生成很简单 现成的

crc32("hello"); //int(907060870) 这个是直接生成10进制的crc32 前端大多都是转16进制 所以转下就对了
dechex($s); //string(8) "3610a686" 10进制转16进制后的就和前端一样了 至于前端的js代码百度下一大堆
 

 

例子:

前端传数据 : 

_t = 456780123123 //一个时间戳

token = 'xxxxxxxxxx' //用户token

param1=1 //重要参数1

param2='xxxx' //重要参数2

前端把这些全部按照固定的顺序或是 sort排序拼接成字符串然后生成crc32 再把生成的一起带给服务器 服务器就先验证crc再进行验证其他的

也可以在后一步上面验证下时间 例如请求时间与现在的时间差距 毕竟每次触发请求都可以生成新的时间戳 所以至少来说不管是延迟还是什么请求带过来的时间戳肯定与服务器接收的时间戳差距不大

 

总的来说这样的方式对付下菜鸟还是行的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值