找不到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,但我觉得我可以解决这个问题。

+0

你的密码是如何存储的 - 散列,加密或清除文本? – Win 2012-05-01 19:31:25

+0

密码被加密。我想知道我是否错过了一个参考或其他东西。我最终解决了这个问题,但我仍然想知道为什么我永远都找不到这个方法?它在所有的文档中。我正在使用.Net Framework 4。 – Cyric297 2012-05-04 15:40:57

您可以将“BindingFlags.Instance”更改为“BindingFlags.Static”并尝试。因为“EncryptOrDecryptData”是MachineKeySection类中的内部静态方法。