不久前(12 岁),我意识到我的密码根本不安全。因为我在任何地方都使用相同的密码,一些脾气暴躁的管理员可以轻松接管我的所有帐户(他得到了邮件和密码)。
显而易见的事情是将所有密码更改为唯一的新密码。但是,记住这些很麻烦。必须有更好的方法...
导致:又一个密码生成器(Java >= 6)。
- 非存储密码生成(没有包含所有密码的文件)
- 轻松找回丢失的密码
- 主密码仅在本地使用,因此完全安全(我认为)
- 跨平台(Android、桌面等)的一致性
- 可配置生成密码的长度
它是这样工作的:
- 输入主密码和密码的使用(例如google.com)
- 创建一个 Sha1 SecureRandom对象
- 用主密码的 UTF-8 字节和密码的使用作为种子
- 生成长度滑块指定的任意数量的随机字母数字字符
问题:
- 这种生成密码的方法如何受到攻击(除了暴力破解)?
- 这种生成密码的方法有多安全?
- 如果它不安全,是什么导致了这种不安全以及如何改进它?
- 这种方法有什么完全错误的吗?