在不记录明文情况下,如何比对密码相似性

发布于 2022-08-29 20:32:47 字数 82 浏览 27 评论 0

一些网站在修改密码的时候,会提供相似性建议,如果存储明文密码,当然可以想象是怎么实现。

如果是加密后的密文,怎么比对两者的相似性?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

随遇而安 2022-09-05 20:32:47

都加密了 就没法比对两者的相似性
鱼和熊掌不可兼得。

南薇 2022-09-05 20:32:47

有一種同态加密,可以加密的同時,允許基本字符串操作,但是看不到明文。

可以運算就可以對比,只不過對比的也只能是對字符串運算的性質。比如 aaaa 和 bbbb 一樣,平移對稱性和反轉對稱性。但你只看到性質,看不到是 a 還是 b。(要是連 a 還是 b 都能分辨,那也跟沒加密一樣了)

不過這種加密想必也不會太強。。。用途和你說的類似,就是在網站不知道明文的時候,允許基本的運算。用在隱私但不敏感的情況還好,用在密碼上。。。算了把。


更新:所謂相似,就是在某種運算下不變。換個詞叫對稱性。

软糖 2022-09-05 20:32:47

对于一个合格的加密算法,无法对比加密后密文的相似性,但是……密文是可以解密的啊……可以存密文需要的时候再解开啊……
不过话说这么做的网站就真的知道你密码的明文了,离他们远点吧。

︶葆Ⅱㄣ 2022-09-05 20:32:47

相似性建议?意思是提示你的新密码和老密码相似度吗?哪个网站?
这不就说明网站知道用户的明文密码呀,太流氓了

流殇 2022-09-05 20:32:47

我可以固定一个账号的salt不变,这样我就可以对比密文来实现这个了
或者说我存明文密码的hash,反正hash不可逆……

或十年 2022-09-05 20:32:47

这个分为两个部分来解答
第一,你修改密码的时候告诉你,你新密码与原密码相同(大多用于找回密码的场景),这个很简单的,假设这个网站使用了32位MD5加密后存储你的密码,那么你输入新的密码后,依然使用32位MD5进行hash计算,与数据库已有记录记性比较,发现hash值一样,那么就判断你新旧密码是一样的.(注意,举例用MD5是为了方便描述,事实上还有很多中加密方式比MD5更加安全,但是不影响我们的结论)

第二,你设置密码的时候验证你的密码是否安全,这个实际上并不是服务器在读取你的密码和判断,实际上是网站加载了脚本来根据你的输入来判断,这个判断是在你浏览器上执行的,当你的输入符合预定的规则后,浏览器将这个密码发送给服务器,服务器加密后保存

另外,上面两点都提到了,浏览器无论如何都是需要将你的密码发送给服务器,而你的密码至少是需要让服务器能"看"一眼
在这个过程中,比较严密的网站也会在浏览器本地进行基本的加密,包括不限于base64等双向解密的算法,并且配合https防止信息窃取

最初的梦 2022-09-05 20:32:47

个人理解,可以比对新旧密码是否相同,通过比对加密密文。
如果能够比对相似性,那应该是不安全的加密方法。

明天过后 2022-09-05 20:32:47

局部敏感哈希Local sensitive hash。simHash是其中一个LSH

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文