上回讲解《使用浏览器的计算力,对抗密码破解》时,曾提到「零知识证明」的概念。

现在,我们讲解零知识证明的另一个案例。不过和上回不同,这次探讨的则是后端,完全不涉及前端。

所谓零知识证明,就是「证明过程中不透露有意义的信息」。按照这个理念,我们来思考下,平时在数据库中存储用户名和密码时,是否还可以有进一步的改进?

传统储存

大多时候,我们都是将密码和用户名一一对应存储的。例如:

table_userinfo

我想了解如何学习

姓名:
手机:
留言:
 
username hashed password other info
alice e37a 781a 0d06 47eb ...
bob 8fe4 516a de2f b73c ...
... ... ...