首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rfc2898DeriveBytes与Sha2 in C#

Rfc2898DeriveBytes与Sha2 in C#
EN

Stack Overflow用户
提问于 2013-04-16 23:22:52
回答 1查看 680关注 0票数 3

我有一个基于Rfc2898DeriveBytes的密码哈希机制(基于下面详述的代码:http://crackstation.net/hashing-security.htm)。在内部,这个类使用SHA1 -- CrackStation链接确实表明SHA1是“旧的”,但也指出,尽管Rfc2898DeriveBytes在内部使用它,但Rfc2898DeriveBytes仍然是一种很好的机制。

我的一位客户的安全部门听说,"SHA1被破坏了“(具体来说,为了签署一份文件以便在互联网上传输,SHA1在某些情况下被打败了-这个”漏洞“不适用于密码哈希,这对安全部门来说无关紧要)。因此,他们要求我们修改密码哈希机制以使用SHA2。

目前,.Net框架没有使用SHA2 (或SHA256等)的等效的Rfc2898DeriveBytes。内部。我知道我可以使用反射来获取这个类的源代码并修改它,但是我一直被告知,加密的第一条规则是“不要自己成长”。

这主要是我的客户的政治需求,而不是技术需求,在通过SHA2运行密码之前通过Rfc2898DeriveBytes运行密码可以很容易地满足这一需求。然而,我对密码学还不太了解,不知道这是否不好--实际上可能会导致一个客观上不太安全的密码哈希。

有人知道有一个Rfc2898DeriveBytes等价类使用SHA2吗?或者,有人知道在SHA2之前通过Rfc2898DeriveBytes哈希运行密码是否是完全安全的吗?

EN

回答 1

Stack Overflow用户

发布于 2014-10-10 02:34:27

从"SecurityDriven.NET“书中下载免费代码示例。查找PBKDF2类,该类接受工厂。可用的工厂包括SHA2 (256384512)。

SHA2散列之前通过Rfc2898DeriveBytes运行密码并不是正确的做法,即使这不太可能是您所做的任何操作中最薄弱的部分(您将丢失密码熵)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16048882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档