[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。