我需要解密位于我的aspnet_Membership表中的加密(非哈希)密码.在该数据库中我看到的密码(加密)和PasswordSalt领域,我可以看看我的web.config找到的machineKey> decryptionKey(验证="SHA1"解密="AES").
注意:我很乐意使用Hashed密码,但出于商业原因,我需要能够使用会员密码,SSO进出其他远程系统,因此使用加密(绝对不使用Clear - yukky!)
鉴于这一切,一定有找回密码的清除,平原和可读文本,即解密的方式,但我有真正的麻烦找到任何网站,或回答有关计算器(和我看所有的"相似问题"和"问题与"这里"相似的标题,解释了如何做到这一点.
我找到了MembershipProvider.DecryptPassword方法页面,但我仍然无法弄清楚如何在我的代码中实际使用它.我还通过谷歌发现了其他页面,但是大多数密码解密的例子似乎都不考虑salt和decrytionKey.
有没有人有一个直接的例子,从各自的位置选择密码,passwordsalt和decryptionkey,并使用它们来解密ASP.NET 2.0会员加密密码?
我需要根据环境变量将Linq的连接字符串设置为Sql.我有一个函数,它将根据环境变量从web.config返回连接字符串,但是如何让Linq始终使用这个"动态创建"的连接字符串(最好不必每次都指定它)?
我知道我可以使用构造函数指定连接字符串,但是在LinqDataSource中使用datacontext时它是如何工作的?
我正在将ASP.NET成员资格用于主要服务于高级用户的网站.我理解散列和加密密码之间的区别,我正在尝试在两者之间做出决定.
在我的上一个客户抱怨哈希密码是一个完整的PITA之后,我开始偏爱加密密码了.但有人认为这不够安全.
所以我的问题是:加密密码的风险究竟是什么?任何能够通过从数据库解密密码来窃取密码的人肯定能够重置它们,如果它们被散列,不是吗?我很难看到有人可能会因加密密码而导致问题,但无法使用加密密码.使用户方便也很重要.