v 站网友写的一个用来记录密码的微信小程序,这个小程序的工作原理大概是这样的:
- 用户在小程序设置一个主密码,小程序在微信端使用 SHA256 算法对主密码生成一个哈希值,再把这个哈希值保存到数据库;
- 用户登录这个小程序时,输入主密码,小程序端使用 SHA256 生成一个哈希值,和数据库中的哈希值对比,以此确认用户身份,并读取用户数据;
- 用户记录的数据,也就是各种服务的密码了,会使用 AES 或国密 SM4 在小程序端进行加密,这两种都是对称加密,加密密钥就是用户的主密码,加密之后再保存到数据库;
- 用户登录后,从数据库获取用户的加密数据,然后在小程序端使用主密码解密这个数据;
这样,开发者只能看到用户加密后的数据,无法看到明文数据。
Excalidraw 的端到端加密,是内容的加密,而且用来解密的密钥没有发送给服务器,Excalidraw 没有账户体系。
相关文章: