security - 非常简单的密码生成方案;这样安全吗?

标签 security hash cryptography passwords md5

编辑/说明:我的意思是密码生成,如“根据一些 secret 和某些特定于站点的数据确定性地生成供您自己使用(例如,注册Web服务)的密码”

我将主密码和(非 secret )特定于站点的字符串串联起来的MD5摘要。然后,我以十六进制表示形式的前16位数字表示。

这种简化方案的优点是:

  • 在MD5可用的任何地方可用
  • 不必信任firefox扩展名或为您生成密码的任何方式

  • 这是否有任何隐藏的漏洞?显然,如果主人受到威胁,我很不幸。

    (旁注:当然,使用十六进制数字表示每个字符的熵次优,但是谁会在乎是否需要更长的密码来弥补它呢?)

    #!/ bin / bash

    master = myMasterPassword
    回声“$ master $ 1” | md5sum |头-c16

    最佳答案

    已经有使用此功能的系统,例如SuperGenPass。通常,假设您的哈希函数可以抵抗原镜像攻击(为此,我建议您使用MD5之外的其他工具),那么您可能还可以。

    但是,为此有一个更好的构造:HMAC。它是由常规哈希函数构造而成的,但具有证明其可以抵抗各种攻击(甚至有限的原像攻击)的安全性的证据。 RFC中还有一个部分明确涉及使用截断的HMAC。

    关于security - 非常简单的密码生成方案;这样安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2100632/

    相关文章:

    c# - C# 中的哈希密码和盐密码

    java - RSA 逐 block 加密对大于 1kb 的文件产生空白输出

    java - 从文件中解密字符串时,RSA 中的解密会抛出 BadPaddingException

    c# - "Security Models"有多少种?

    java - 我怎样才能保护自己免受 zipper 炸弹的伤害?

    javascript - 如何将 Ruby 哈希输出为 Javascript?

    Golang - Crypto 的包函数 "Available()"未定义

    security - 检查机器数量

    python - openerp 7 中的字段级访问权限和安全性

    arrays - 将散列视为数组?