2023-02-16 336
我需要在我的Aspnet_membership表中解密加密(非哈希)密码.在该数据库中,我看到了密码(加密)和密码萨尔特字段,我可以查看我的web.config以查找MachineKey> netryptightekekey(验证=” sha1″解密=” aes”).
).
注意:我很想使用Hashed密码,但是出于商业原因,我需要能够为会员使用密码,用于SSO进入其他远程系统,因此使用加密(绝对不使用Clear -Yukky!)
鉴于所有这些,肯定有一种方法可以将密码检索为清晰,简单且可读的文本,即解密,但是我在找到任何网站或在stackoverflow上回答我遇到了真正的麻烦(我正在寻找所有网站这里解释了如何完成的”类似问题”和”具有类似标题的问题”).
我已经找到 MENSTERHIPPROVIDER.DECRYPTPASSWORD方法页面,但是我仍然无法确定如何在代码中实际使用它.我还通过Google找到了其他页面,但是大多数密码解密的示例似乎并未考虑到盐和Decrytionkey的考虑.
有人从各自位置选择密码,密码萨尔特和解密键的直接示例,并使用它们来删除ASP.NET 2.0成员加密密码?
创建一个从SQLMembershippRovider继承的类,其中您可以调用解密.
您需要的所有代码可以在 Naveen Kohli的这篇文章:
查看反射器中的代码后,我看到了Microsoft
提供者分两个步骤解密.加密密码实际上是
基本64加密数据的转换.因此,首先将其转换为
base64,然后调用decryptassword方法.我只是做了最简单的
事物.从Microsoft实施中复制了代码,删除了所有
检查它正在这样做,然后使用它.下课是一个例子
类派生的类sqlmembershipprovider的类别的方法
将我的密码返回给定加密密码的清晰文本.namespace MembershipPasswordRecover { public class NetFourMembershipProvider : SqlMembershipProvider { public string GetClearTextPassword(string encryptedPwd) { byte[] encodedPassword = Convert.FromBase64String(encryptedPwd); byte[] bytes = this.DecryptPassword(encodedPassword); if (bytes == null) { return null; } return Encoding.Unicode.GetString(bytes, 0x10, bytes.Length - 0x10); } } } static void Main(string[] args) { var passwordManager = new NetFourMembershipProvider(); var clearPWd = passwordManager.GetClearTextPassword("encryptedpasswordhere"); Console.WriteLine(clearPWd); }
以上所述是小编给大家介绍的从ASP.NET 2.0会员中解密'加密&39;密码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33830.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态