【发布时间】:2015-09-24 19:27:55
【问题描述】:
我想要一个带有 2 个参数的程序,第一个是主密码,第二个是易于记忆的字符串,与生成的密码相关。它处理此信息并将其转换为字符串。所以我的密码不会写在任何地方,我只会记住主密码和每个密码的易于记忆的字符串。例如像
get-password --master-pass Gh3vBF2d --name stackoverflow
会得到我的 Stackoverflow 密码。
我尝试使用 sha512 来实现。它需要一个硬编码的盐 + 主密码 + 相关字符串,经过 60k+ 轮并返回哈希。
这远非完美,因为哈希是十六进制的,所以它的熵很低。我希望输出由字母数字、小写和大写以及一些特殊字符组成。我尝试将其转换为base64,但输出太短。不仅如此,生成的密码看起来也很相似,例如:N2Q5MjJkZWM=, N2YzNGRkYWQ=
任何人都知道如何生成高熵密码,长度约为 16-20 个字符,并且不能生成类似的密码。
【问题讨论】: