大概两个小时写了一个基于算法的非存储密码管理工具 ...

2011-12-22 04:32:15 +08:00
 Sunyanzi
------------------------------------------------------------
http://mop.sunyanzi.cn/password/
------------------------------------------------------------

一直想在分享创造发点什么 ... 没想到这次托了 CSDN 的福了 ...

非常小非常小的小东西 ... 原理也很简单 ... 只是之前都没有想到要写它 ...

这是一个基于 MD5 和 SHA-512 的密码计算器 ...

可以将你的主密码转化为强度比较高且不可逆的密码 ...

如果要在不同的网站使用不同的密码的话 ... 填写辨别码就好 ...

辨别码和主密码哪怕有轻微的改动最后生成的密码也会天差地别 ...

这东西的核心理念是既然我们无法保证自己的密码在服务端是否是加密存储的 ...

那么不如在给服务器之前自己先加密一下 ... 用起来也放心 ...

系统是纯 JavaScript 的 ... 没有任何后端脚本 ...

不用担心明文密码在网络上传输的过程中被看到 ...

密码完全由算法每次即时演算 ... 不会存储在任何地方 ...

只要浏览器窗口一关内存一清立即烟消云散 ...

欢迎试试看 ... 我觉得大概比每次自己算 MD5 还是好用一些的 ...
8875 次点击
所在节点    分享创造
48 条回复
Kid
2011-12-22 04:59:51 +08:00
这是个好思路。

其实可以预置一些网站的密码要求……
zythum
2011-12-22 05:05:13 +08:00
原来是孙燕姿大大。不过这样用着不方便。每次登陆都要过来算一编。
windhunter
2011-12-22 05:17:35 +08:00
这个思路不错!
CupTools
2011-12-22 06:07:36 +08:00
crypt可以完成你的愿望
frittle
2011-12-22 08:27:06 +08:00
嗯 直接使用Javascript让人有安全感。但使用起来确实不方便,也不可能把每个生成的密码牢记。

个人需要生成密码时都直接用chrome里的LastPass扩展,然后就顺便保存在LastPass上了。
arzusyume
2011-12-22 09:11:04 +08:00
我觉得这个做成浏览器扩展不错,鉴别码可以用域名
likuku
2011-12-22 09:40:07 +08:00
不加盐就一样不安全。
sharmy
2011-12-22 09:41:37 +08:00
。。我昨天还在想写个类似的东西
bhuztez
2011-12-22 09:48:36 +08:00
jenshan
2011-12-22 09:55:54 +08:00
正在和同学做这类的一个软件,也算是有个作品,结果还没做完,楼主就拿出来了
summic
2011-12-22 10:50:02 +08:00
lz的有盐
Sunyanzi
2011-12-22 12:55:57 +08:00
@frittle 为什么要记生成的密码呢 ..?

只要所有填写的东西都一样 ... 最后生成的密码必定也是一样的 ...

你可以只记非常简单的主密码如 123456 ...

然后每次都复制转化后的密码填到网站上就好 ...

@likuku @bhuztez

您二位是如何得知我没有盐化密码或者没有使用基于 HMAC 的算法呢 ..?

我真的很好奇这个结论是如何得出的 ...

我在主贴里写 MD5 和 SHA-512 是具体描述 ... 毕竟 v2ex 是技术论坛 ...

不然我写 使用某两种基于 HMAC 的算法 ... 也许会更利于理解一些 ..?

另外说 ... 虽然我的算法里面有用到盐 ...

但其实凭心而论 ... 我不觉得这么做在当前这个场景下对提升安全性有什么帮助 ...

其实除了看起来专业之外 ... 我根本完全想不出这么做有什么意义 ...

密码保存的时候盐化的目的是使同一个明文被摘要之后生成的文字不相同 ...

而在我这个应用里 ... 只要你填写的东西都一样 ... 那么生成的密码也绝对是一样的 ...

这是系统立足的根本 ... 稳定性的保证 ...

我想我大概是没 catch 到您的思路 ...

您觉得盐化在这里会对提升安全性有怎样的帮助呢 ..?
Showfom
2011-12-22 13:06:41 +08:00
感谢楼主的分享~
frittle
2011-12-22 13:08:39 +08:00
@Sunyanzi 所以说使用不便,因为每次登录都必须转化
Sunyanzi
2011-12-22 13:15:22 +08:00
@frittle 假如 lastpass 的数据库一丢 ... 我只是说假如 ...

你的所有密码哪怕随机生成的再复杂 ... 也全部以明文的形式暴露在别人面前了 ...

这就是我为什么不相信存储而更相信用安全的算法即时演算的原因 ...

不过我觉得这大概不是我们的争议点 ...

我写一个这个密码生成器的 chrome 插件似乎好过说更多的话 ...
julian
2011-12-22 13:18:41 +08:00
正好想用随机密码,楼主这个作品帮了我的忙,谢谢!
bhuztez
2011-12-22 13:19:31 +08:00
@Sunyanzi 我是觉得使用自己折腾一个算法不合适,如果使用现成的算法,那么就算离开了你的工具,只要会写Hello,world!,谁都能自己调用下库生成一下。就算自己用,也可能会忘记掉当初是怎么写的,如果用现成的算法就没什么好担心的了。
lentrody
2011-12-22 13:25:38 +08:00
@Sunyanzi KeePass就不错嘛,数据库加密保存到本地,也有浏览器插件
yangzhi
2011-12-22 13:30:47 +08:00
@Sunyanzi "我写一个这个密码生成器的 chrome 插件似乎好过说更多的话" 这是个好主意啊,自动根据当前页面的域名来做辨别码就很方便了
Numbcoder
2011-12-22 13:33:20 +08:00
@Sunyanzi 很好,谢谢!
但是在有些情况下,会很不方便,例如我要在手机上用App登录怎么办,去哪生成这个密码?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/24012

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX