C# 我可以从数据库中获取成员身份中解密的密码吗?

C# 我可以从数据库中获取成员身份中解密的密码吗?,c#,asp.net-membership,C#,Asp.net Membership,我需要解密密码才能登录系统。我在数据库中找到password和passwordsalt字段。这是经过设计的。否。这是经过设计的。通常,这样的系统是使用单向加密设计的,以准确防止您尝试执行的操作。如果您正在使用该系统,最好创建自己的帐户,而不是使用其他人的帐户 像这样的系统通常是使用单向加密设计的,以准确地防止您试图执行的操作。如果您正在使用该系统,最好创建自己的帐户,而不是使用其他人的帐户 我看到您有启用密码重置=“true”,所以使用正常路由。我看到您有启用密码重置=“true”,所以使用正常

我需要解密密码才能登录系统。我在数据库中找到password和passwordsalt字段。这是经过设计的。

否。这是经过设计的。

通常,这样的系统是使用单向加密设计的,以准确防止您尝试执行的操作。如果您正在使用该系统,最好创建自己的帐户,而不是使用其他人的帐户

像这样的系统通常是使用单向加密设计的,以准确地防止您试图执行的操作。如果您正在使用该系统,最好创建自己的帐户,而不是使用其他人的帐户

我看到您有
启用密码重置=“true”
,所以使用正常路由。

我看到您有
启用密码重置=“true”
,所以使用正常路由。

假设您实际配置了一个真正的连接字符串(而不是像您的示例中那样
ConnectionString=“
),您可以在代码中使用它

<add name="LDSAMembers" 
  type="System.Web.Security.SqlMembershipProvider" 
  connectionStringName="" 
  applicationName="" 
  requiresUniqueEmail="true" 
  passwordFormat="Encrypted" 
  minRequiredPasswordLength="6" 
  enablePasswordReset="true" 
  enablePasswordRetrieval="true" 
  maxInvalidPasswordAttempts="5" 
  passwordAttemptWindow="15" 
  requiresQuestionAndAnswer="false" 
  minRequiredNonalphanumericCharacters="0" />
该方法可以引发很多异常,例如,如果密码答案确实设置了,或者用户被锁定了。有关更多详细信息,请参见此处:


假设您实际配置了一个真正的连接字符串(而不是像示例中那样的
connectionStringName=“
),您可以在代码中使用它

<add name="LDSAMembers" 
  type="System.Web.Security.SqlMembershipProvider" 
  connectionStringName="" 
  applicationName="" 
  requiresUniqueEmail="true" 
  passwordFormat="Encrypted" 
  minRequiredPasswordLength="6" 
  enablePasswordReset="true" 
  enablePasswordRetrieval="true" 
  maxInvalidPasswordAttempts="5" 
  passwordAttemptWindow="15" 
  requiresQuestionAndAnswer="false" 
  minRequiredNonalphanumericCharacters="0" />
该方法可以引发很多异常,例如,如果密码答案确实设置了,或者用户被锁定了。有关更多详细信息,请参见此处:


您需要加密密码、salt和加密密码机器的
machineKey
部分

必须定义此部分(默认情况下不是此部分)以支持加密。因此,除非您在加密数据的服务器上工作,否则您将需要从该计算机获取密钥

它们可以在应用程序的web.config之间的任意位置定义,一直到c:\windows\microsoft.net中的根web.config

可以说,这是关键


如果您有权访问此部分,请不要在此处发布,但请给我留言,我们可以讨论解密。

您需要加密密码、salt和加密密码机器的
machineKey
部分

必须定义此部分(默认情况下不是此部分)以支持加密。因此,除非您在加密数据的服务器上工作,否则您将需要从该计算机获取密钥

它们可以在应用程序的web.config之间的任意位置定义,一直到c:\windows\microsoft.net中的根web.config

可以说,这是关键


如果您有权访问此部分,请不要在此处发布,但请给我留言,我们可以讨论解密。

我在适当的场景中使用了上述配置(即passwordFormat=“Encrypted”)。以下代码用于使用指定的新密码重置用户密码(与生成新密码相对应),以便cs代表可以在不知道旧密码的情况下,在电话中向用户请求新密码并为其更改密码

调用user.ChangePassword需要传递当前密码:

Membership.GetPassword(username, "");

user.Password()以明文形式返回当前密码。

我在适当的场景中使用了上述配置(即passwordFormat=“Encrypted”)。以下代码用于使用指定的新密码重置用户密码(与生成新密码相对应),以便cs代表可以在不知道旧密码的情况下,在电话中向用户请求新密码并为其更改密码

调用user.ChangePassword需要传递当前密码:

Membership.GetPassword(username, "");

user.Password()以明文形式返回当前密码。

您不能通过数据库执行此操作,需要通过.NET成员身份API执行此操作。您实际上是在运行源代码,还是只是试图以“黑盒”的方式获取密码?您不能通过数据库来获取密码,您需要通过.NET成员API来获取密码。你是真的在运行源代码还是只是想用“黑盒子”的方式获取密码?我不认为有“单向加密”这样的东西。也许你的意思是“散列”?我不认为有“单向加密”这样的东西。您的意思可能是“哈希”?密码格式已加密,密码检索已启用。这应该可以通过API实现。怎么做?你能给我更多的指导吗?我是一个新手,但如果它是一个哈希密码,那么它就不会反转。密码格式是加密的,密码检索是启用的。这应该可以通过API实现。怎么做?你能给我更多的指导吗?我是一个新手,但如果它是一个哈希密码,那么它就不会被颠倒。