怎么防止二维码被伪造

剑心666
  • 384

我系统生成1个二维码,后台怎么识别用户扫的是我系统生成的二维码而不是用户根据我的二维码内容自己做的二维码?
加token或着加密方法我想了下, 用户扫一次我的码,然后复制token或者加密后的字符串,在生成自己的二维码我好像也分辨不出来噢

回复
阅读 398
4 个回答
✓ 已被采纳

只能对你的内容进行加密,让用户不能自己伪造,二维码说白了就是将文本图形化而已,扫码就是将文本解出来而已,所以只能从源头入手

已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入

自己定个加密规则加密二维码的内容,扫码后再解密里面的内容

建议系统生成二维码时带上一个 token,用来标识二维码的有效性,当用户扫描二维码时,服务端拿到这个 token 之后再来校验二维码是否已失效

已参与了 SegmengtFault 思否 「问答」打卡,欢迎正在阅读的你也加入。

1 二维码内容就是一个 token
 token 由服务端生成,比如 mysql 的 UUID()
2 用户扫二维码后,把 token 提交到服务器做验证,取 token 对应内容
 如果是伪造的,服务器上不会存在对应 token

另外:如果需要识别扫码用户的身份,token+user identity+hash 来解决

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏