深入了解二维码技术原理与应用场景,保障个人信息安全

2024-12-23
来源:网络整理

设置为“顶级或星级”以尽快获得有用的货物

在日常生活中,二维码出现在很多场景中,比如超市支付、系统登录、应用程序下载等。了解二维码的原理可以为技术人员在选择技术时提供新的思路。对于非技术人员来说,除了澄清疑惑之外,还可以指导他们更好地识别生活中遇到的各种二维码,防止上当受骗。

二维码大家都很熟悉。

购物扫二维码,吃饭扫二维码,乘车扫二维码。

在扫码的过程中,您可能会有疑问:这个二维码安全吗?我的个人信息会被泄露吗?更深入的用户还会考虑:我是否也可以创建一个二维码来推广我的系统?

这时候你就需要了解二维码背后的技术和逻辑了!

二维码最常用的场景之一是通过移动应用程序在PC端或WEB端扫描二维码登录同一系统。例如,在手机上扫描微信二维码可在PC上登录微信,在手机上扫描淘宝上的二维码可在PC上登录淘宝。那么我们就来看看二维码登录是如何进行的吧!

二维码登录的本质

二维码登录本质上是一种登录认证方式。既然是登录认证,那么就只有两件事了!

那么通过扫描二维码登录如何做到这两件事呢?我们一起想一下

使用手机App扫描PC端二维码。手机端确认后,PC端账户登录成功!这里,PC端登录的账号必须与手机端登录的账号一致。在手机上用A账户无法登录,扫描二维码登录后,在PC上登录B账户。

所以,首先就是告诉系统我是谁,这样就比较清楚了!

通过扫描二维码,将手机上的账户信息传输到PC上。至于如何转移,我们稍后再说。

第二件事是向系统证明我是谁。在二维码登录过程中,用户没有输入密码、验证码或任何其他代码。这是如何证明的?

有同学可能会疑惑,扫描过程中密码是否传输到PC上呢?但这是不可能的。因为这样太不安全了,客户端根本不会存储密码。我们仔细想一想,其实手机APP已经登录了,也就是说手机已经通过了登录认证。只要我扫描二维码,确认是这部手机,是这个账号操作的,其实就可以间接证明我是谁。

了解二维码

那么如何确认呢?我们稍后会详细解释,但在此之前我们需要先了解一下二维码!在了解二维码之前,我们先来了解一下一维码!

所谓一维码就是条形码,超市里的条形码——相信大家对此都非常熟悉。条形码实际上是一串数字,存储了产品的序列号。

二维码其实和条形码类似,只不过它不一定存储数字,也可以是任意字符串。您可以将其视为字符串的另一种表示形式。在搜索引擎中搜索二维码。你可以找到很多在线生成二维码的工具网站。这些网站都可以提供字符串和二维码转换的功能,比如草丛二维码网站。

您可以在左侧的输入框中输入您的内容。可以是文本、URL、文件……然后就可以生成代表它们的二维码

二维码扫码付款_扫码支付自己的二维码_扫二维码付钱

你还可以上传二维码并“解码”,然后就可以解析出二维码的含义。

系统认证机制

了解了二维码,我们再来看看移动互联网下的系统认证机制。

正如我们之前所说,出于安全考虑,它不会在手机上存储您的登录密码。但在日常使用中,我们要注意的是,只有下载应用程序后首次登录时,才需要使用帐号和密码登录。之后,即使应用程序进程被杀,或者手机重启时,也无需再次输入账户密码,即可自动登录。

其实这背后是一套基于的认证机制。我们来看看这个机制是如何运作的。

const token = {   acountid:'账号ID',   deviceid:'登录的设备ID',   deviceType:'设备类型,如 iso,android,pc......', }

然后服务器会生成一个并用它来映射数据结构。这实际上是一个具有特殊含义的字符串。它的含义是通过它可以找到对应的账户和设备信息。

从前面的流程我们可以看出,客户端没有也不需要保存你的密码。相反,确实如此。有的同学可能会想,这这么重要,万一被别人发现了怎么办?其实你知道也没关系,因为设备信息是唯一的。只要别人不知道你的设备信息,并且别人使用其他设备访问,验证就不会通过。

可以说,客户端登录的目的就是为了获取自己的。

那么在扫描二维码登录的过程中,PC端是如何获取自己的呢?手机端不可能直接用自己的电脑端的!它只能是某个客户私有的,不能被其他人或其他客户使用。在分析这个问题之前,我们需要先梳理一下扫描二维码登录的大致步骤,这样可以帮助我们梳理整个流程,

扫描二维码登录的一般步骤及流程

可以看到,二维码中间有三种状态:等待扫描、扫描等待确认、确认。所以可以想象

好了,现在基本思路已经清楚了,接下来让我们把整个过程说得更具体一些。

二维码准备

看二维码的不同状态,首先是等待扫描状态,此时用户打开PC,切换到二维码登录界面。

二维码扫码付款_扫码支付自己的二维码_扫二维码付钱

二维码已准备就绪,现在可以扫描它

扫描状态开关

那么为什么我们需要给手机返回一个临时值呢?就像临时一样,它也是一种身份凭证。不同的是只能使用一次,使用后就失效。

返回第三步中的临时,以便手机下一步可以作为凭证使用。这样可以保证扫描二维码和登录两步操作是从同一部手机发出的。

状态确认

最后一步是确认状态。

扫码的基本流程已经讲解过了,但有些细节还没有深入介绍。

例如,二维码的内容是什么?

在扫描二维码确认的步骤中,如果用户取消了怎么办?这些细节留给大家思考

总结

我们从登录的本质出发,探讨如何通过扫描二维码登录。

在这个过程中,我们首先简单讲了两个必备知识,

那么我们以二维码状态为轴,分析其背后的逻辑:扫码登录是通过认证机制和二维码状态变化来实现的。

需要指出的是,上述登录流程适用于同一系统的PC端、WEB端、移动端。

我们平时还有一个比较常见的场景,就是通过第三方应用扫描二维码登录。比如极客时间/掘金可以选择通过微信/QQ扫描二维码登录,那么这种通过第三方应用扫描二维码登录的原理是什么呢?

来源:/post/

结尾

点击“关注”即可支持

分享