【问题标题】:how to Decrypt password in c#如何在c#中解密密码
【发布时间】:2015-10-05 14:23:49
【问题描述】:

我想在 C# 中解密密码我正在使用下面的代码。

public class NetFourMembershipProvider : SqlMembershipProvider
{

public string GetClearTextPassword(string encryptedPwd)
{

    try
    {
        byte[] encodedPassword = Convert.FromBase64String(encryptedPwd);
        byte[] bytes = this.DecryptPassword(encodedPassword);
        if (bytes == null)
        {
            return null;
        }

        return Encoding.Unicode.GetString(bytes, 0x10, bytes.Length - 0x10);
    }
    catch (Exception)
    {

        throw;
    }

   }

}

我的网络配置文件是

<configuration>
<system.web>
<machineKey validationKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"        decryptionKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" decryption="3DES"   validation="SHA1" />

<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="15">
  <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider"
    type="System.Web.Security.SqlMembershipProvider"
    connectionStringName="SiteSqlServer" enablePasswordRetrieval="true"
    enablePasswordReset="true" requiresQuestionAndAnswer="false"
    minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0"
    requiresUniqueEmail="false"
    passwordFormat="Encrypted"
    applicationName="DotNetNuke"
    description="Stores and retrieves ......." />
  </providers>
</membership>
<compilation debug="true" targetFramework="4.0" />
</system.web>

在这一行byte[] bytes=this.DecryptPassword(encodedPassword); 我收到以下错误消息。

您必须指定非自动生成的机器密钥才能以加密格式存储密码。指定不同的密码格式,或更改 machineKey 配置以使用非自动生成的解密密钥。

如何转换密码。

请帮帮我。

注意:validationkey 是 40 个字符,decryptionKey 是 48 个字符长的数据。

提前致谢

【问题讨论】:

  • 如果可能的话,我会避免以可解密的格式存储密码。密码加密应该是单向的。
  • 单向加密 = 散列!
  • 看看这里,你会找到有用的答案:stackoverflow.com/questions/10168240/…

标签: c# html asp.net encryption


【解决方案1】:

而是试图解密密码。将加密密码存储在数据库中...当您要验证密码时,使用用户输入的加密密码并将其与存储在数据库中的加密密码进行比较。

一般使用 SHA 或 MD5 等算法对输入的密码进行哈希处理。实际上,哈希和加密是两个不同的东西。在这种情况下,使用哈希。

【讨论】:

  • 我想将密码发送到另一台服务器,因为我们正在更改服务器。这就是我解密密码的原因。有什么办法可以解密密码。
  • 为什么要解密并发送密码...如果您发送加密密码本身会不起作用吗?
猜你喜欢
  • 2012-02-03
  • 2020-05-20
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
相关资源
最近更新 更多