c++从主密码生成密码

C++ generate passwords from master password

本文关键字:密码 c++      更新时间:2023-10-16

我想有一个程序,需要2个参数,第一个主密码和第二个容易记住的字符串,与生成的密码相关。它处理这些信息并将其转换为字符串。所以我的密码不会写在任何地方,我只会记住主密码和每个密码的容易记住的字符串。例如

get-password --master-pass Gh3vBF2d --name stackoverflow

会得到我的Stackoverflow的密码。

我试着用sha512做它。它接受硬编码的salt +主密码+相关字符串,进行60k+轮并返回哈希值。

这远非完美,因为哈希是十六进制,所以它具有低熵。我希望输出由字母数字、小写字母和大写字母以及一些特殊字符组成。我试图将其转换为base64,输出太短。不仅如此,生成的密码看起来也很相似,例如:N2Q5MjJkZWM=, N2YzNGRkYWQ=

有人知道我如何生成一个高熵密码,大约16-20个字符的长度,它一定不能生成类似的密码。

我已经使用md5sum一段时间了。

命令:

echo -n Gh3vBF2d@stackoverflow | md5sum | cut --bytes=1-20
                 ^^^ domain
        ^^^ Master password
输出:

0e8dc2aa9a8d85afc267