找不到EncryptOrDecryptData
问题描述:
我必须更改正在运行aspnet Membership的应用程序的MachineKey,所以据我所知我将不得不更新用户的所有密码。运行下面的代码找不到EncryptOrDecryptData
method = typeof(MachineKeySection).GetMethod("EncryptOrDecryptData", BindingFlags.Instance | BindingFlags.NonPublic);
byte[] stuff = (byte[])method.Invoke(section, new object[] { encodedPassword, null, 0, encodedPassword.Length, 0, false, false });
方法为空时,我试图以编程方式做到这一点,发现下面的代码here
。
此外,在该代码中,我无法修改MachineKeySection,但我觉得我可以解决这个问题。
答
您可以将“BindingFlags.Instance”更改为“BindingFlags.Static”并尝试。因为“EncryptOrDecryptData”是MachineKeySection类中的内部静态方法。
你的密码是如何存储的 - 散列,加密或清除文本? – Win 2012-05-01 19:31:25
密码被加密。我想知道我是否错过了一个参考或其他东西。我最终解决了这个问题,但我仍然想知道为什么我永远都找不到这个方法?它在所有的文档中。我正在使用.Net Framework 4。 – Cyric297 2012-05-04 15:40:57