最近工作中要做二维码登陆的一些工作,因此查阅了一些二维码相关的资料,并做了一个简单的记录。本文主要有两部分,一部分是二维码是什么,另一部分对部分扫码流程做了解析。
1.二维码是什么
我印象中10年出头智能手机开始普及后,二维码才逐渐进入人们的生活(当然现在生活中已经离不开二维码了),但是其实二维码的前身大家更早就应该接触过,就是超市中商品上贴的条形码,即一维码。一维码和二维码原理其实类似,都是通过不同长度的横条或者竖条来模仿0和1,组合起来来代表不同的数字或者字母。因为一维码信息密度很低,后来便诞生了二维码。
因此,其实二维码就是一串字符串,网上也有很多把二维码解析成字符串或者给一个字符串生成一个二维码的工具。
2.扫码
平时生活中也经常遇到各种各样的码,那扫了这些码到底发生了什么事呢?
首先,最简单的,就是浏览器扫码登陆网址或者扫码下载文件,这种二维码中你用解码工具解析后就会发现这是一个简单的网址(就是字符串),不携带任何加密信息,浏览器解码之后直接打开。
然后更加常见一些的,比如支付宝扫码付钱,解析工具解析二维码后也可以看到是支付宝的网址加一串加密后的字符串,虽然加密后的字符串无法解密,但是也可以很容易猜出这是代表支付宝账户的一串字符串,扫码之后你就知道付钱给谁了。
再之后就是更加复杂一些的,也是本文主要介绍的扫码流程:以手机端微信扫码登陆PC端微信这种为代表的场景。目标是PC上登陆上和手机端一样的微信,其实更本质的目标就是让服务器确认PC的身份和手机端一样,因为手机端已经登陆过,所以按理把手机端