Asp.net身份哈希安全吗?

我在以下url中引用了以下网站,用于Rijndael和Asp.net哈希实现。

  1. Rijndael – 如何使用密码生成Rijndael KEY和IV?
  2. Asp.net哈希 – ASP.NET身份默认密码哈希,它是如何工作的并且它是否安全?

在两个实现中,以下用于获取密码的随机字节。 Rijndael算法

Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(password, SALT); 

Asp.net身份哈希

 Rfc2898DeriveBytes bytes = new Rfc2898DeriveBytes(providedPassword, salt, HasingIterationsCount) 

在上面的代码之后,RijnDael对返回的字节应用加密。 但是asp.net标识将结果复制到salt字节数组并返回散列键。

在这里,我有一个混乱。 RijnDael和Asp.net身份哈希使用相同的Rfc2898DeriveBytes

当RijnDael可以解密加密的密钥(这是在Rfc2898DeriveBytes的帮助下完成的),为什么我们可以解密Asp.net Identity哈希密钥?

有可能这样做吗? Asp.net身份是否安全?

是的,ASP.NET的密码散列方法是安全的。

在您提供的示例中,用户使用称为高级加密标准 (AES,也称为Rijndael)的加密技术。 这就是秘密可以被解密的原因。

用户只使用Rfc2898DeriveBytes类来获取密钥和初始化向量 。

该类不用于散列秘密消息。 加密是隐藏信息的原因。

ASP.NET使用Rfc2898DeriveBytes类来哈希密码。 这个程序无法逆转。