上回講解《使用瀏覽器的計算力,對抗密碼破解》時,曾提到「零知識證明」的概念。
現(xiàn)在,我們講解零知識證明的另一個案例。不過和上回不同,這次探討的則是后端,完全不涉及前端。
所謂零知識證明,就是「證明過程中不透露有意義的信息」。按照這個理念,我們來思考下,平時在數(shù)據(jù)庫中存儲用戶名和密碼時,是否還可以有進(jìn)一步的改進(jìn)?
傳統(tǒng)儲存
大多時候,我們都是將密碼和用戶名一一對應(yīng)存儲的。例如:
table_userinfo
username | hashed password | other info |
---|---|---|
alice | e37a 781a 0d06 47eb | ... |
bob | 8fe4 516a de2f b73c | ... |
... | ... | ... |