【问题标题】:C++ generate passwords from master passwordC++ 从主密码生成密码
【发布时间】:2015-09-24 19:27:55
【问题描述】:

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

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

会得到我的 Stackoverflow 密码。

我尝试使用 sha512 来实现。它需要一个硬编码的盐 + 主密码 + 相关字符串,经过 60k+ 轮并返回哈希。

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

任何人都知道如何生成高熵密码,长度约为 16-20 个字符,并且不能生成类似的密码。

【问题讨论】:

    标签: c++ hash passwords


    【解决方案1】:

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

    命令:

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

    输出:

    0e8dc2aa9a8d85afc267
    

    【讨论】:

    • 但这和 sha512 是一样的问题。它只包含字母 a-f 和数字,没有大写。
    • @Iron96,混合大小写很容易。但是,如果不能接受只包含字母a-f 的限制,可以忽略我的建议。
    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多