二维码生成验证方式思考总结

1.生成的二维码是使用Google的zxing的方式生成的,具体生成方式见
java实现二维码的生成与解析
2.产品需求:目前只有扫描二维码添加好友功能,考虑到后续需求可能要求 增加扫描安装安全屋或更多功能接口 ,所以打算设计一个通用验证接口。

方案一:生成一个token,存储redis中,vlaue值为id。此id是新建一个 二维码表的主键,建表的时候考虑到了以后可能会增加下载app相关需求,并且增加一个后台 验证二维码接口,为以后可能扩展的功能做基础。对于该方案 可能以后会增加除添加好友和下载的更多功能,那么就在value值中添加type方式进行验证。
该方案安全性可以,为本次采用的方案。

方案二:后经思考其实可以使用JWT验证的方式进行优化,二维码中包含根据JWT规则生成的token信息,其中payload部分可以包含用户的account信息和type方式,type代表是添加好友还是下载安装或之后更多功能,经过后端分析之后返回给app端进行验证,
该方案安全性没有方案二高,因为客户端可以截取解析的,但是该方案不用使用数据库,不用存redis,已知情况目前使用这种方式会更高效 但因为当时使用的方案一版本已上线,所以考虑以后优化。
此方案为本人早起突然想到的方案,可能还有不足之处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值