[ASP.NET4之旅]默认加密与哈希算法的改变

  在开发机器中将home.cnblogs.com的程序从ASP.NET 2.0升级为ASP.NET 4之后,发现明明已经在passport.cnblogs.com(ASP.NET 2.0)登录的用户,到home中却显示没有登录。

  查阅“ASP.NET 4 Breaking Changes”,发现“Default Hashing Algorithm Is Now HMACSHA256”。

  原来在ASP.NET 4中,默认的加密与哈希算法改为了HMACSHA256,而ASP.NET 2.0用的是HMACSHA1,所以在passport.cnblogs.com中登录后生成的cookie(用HMACSHA1加密码)到home.cnblogs.com中却用HMACSHA256进行解密,当然解密不了啦。

  解决方法:

  在web.config中将加密与哈希算法再改回HMACSHA1:

<machineKey validation="SHA1" />

  所以,在使用ASP.NET 4之前,必读文档就是ASP.NET 4 Breaking Changes

posted @ 2010-08-11 15:39  dudu  阅读(2789)  评论(10编辑  收藏  举报