我该如何解决这个错误? "加密操作期间发生错误。"

时间:2015-11-19 19:02:37

标签: .net

我遇到了这个错误。

  

' /'中的服务器错误应用

     

加密操作期间发生错误。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:   System.Security.Cryptography.CryptographicException:发生错误   在加密操作期间。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[CryptographicException:加密期间发生错误   操作]
  System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2   func,Byte []输入)+115
  System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.Protect(字节[]   clearData)+59 System.Web.UI.ObjectStateFormatter.Serialize(Object   stateGraph,目的)+495
  System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter2.Serialize(对象   国家,目的)+ 8
  System.Web.UI.Util.SerializeWithAssert(IStateFormatter2 formatter,   对象stateGraph,目的)+40
  System.Web.UI.HiddenFieldPageStatePersister.Save()+106
  System.Web.UI.Page.SavePageStateToPersistenceMedium(Object state)+108   System.Web.UI.Page.SaveAllState()+ 659
  System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)   1225

所以我用Google搜索并找到了这个页面。

http://www.orcsweb.com/articles/generate-aspnet-machine-key/

我生成machinekey并在我的Web.config中添加机器密钥

<machineKey validationKey='8D501322497B9D48BF95BA563F9CF801C24775BBAB1A8A072907E2094129E8F415C9EC05489276DB9BB250BFF739EFA2FF828D2D15304546B5C41C7A024B8B4A' decryptionKey='9E98043678E2D8768E20DA3F556418832A901C5D23AA1810' validation='SHA1'/>

但仍然导致错误。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果您尝试从其他网站解密AUTH令牌,请确保machineKey元素包含compatibilityMode =“Framework45”元素。对于较旧的.NET应用程序,有时应将其设置为“Framework20SP1”。无论您使用哪种设置,两个站点都应该相同。