2016-08-08 2 views
0

VS2010 웹 사이트를 VS2015 웹 응용 프로그램 (C#)으로 변환하려고합니다. 최신 문제는 VS2015에 SHA1 또는 HMACSHA256,384,512가 필요하다는 것입니다. 이것은 오래된 사이트이며 3DES에 익숙했습니다. 암호화 된 암호와 함께 .NET 2.0 멤버쉽을 사용합니다. 암호화 된 암호가있을 때 .NET 구성원이 컴퓨터 키 암호화를 사용한다는 내용을 읽었습니다. 해쉬 된 암호로 전환해야한다는 것을 알고 있으며, 그렇게해야 할 항목 목록에 있습니다.VS2015 업그레이드 용 컴퓨터 키를 변경해야하는 경우 암호가 작동하지 않습니다.

When using <machineKey compatibilityMode="Framework45" /> or the MachineKey.Protect and 
MachineKey.Unprotect APIs, the 'validation' attribute must be one of these values: 
SHA1, HMACSHA256, HMACSHA384, HMACSHA512, or alg:[KeyedHashAlgorithm] 

문제는이 변경된 후에 로그인 할 수 없다는 것입니다. 유효성 검사가 다른 알고리즘을 사용하고 있으므로 일치하는 것이 없다고 가정합니다.

모든 암호를 해독하고 해시하거나 다시 암호화 할 필요없이 유효성을 유지할 수 있습니까? 아니면 이것을 피하기 위해 모든 암호를 해쉬로 변환해야합니까? 아니면 다른 옵션이 있습니까?

답변

1

확인. 호환성 모드가 작동하는 것 같아서 암호화를 변경하지 못하게합니다. 다음과 같이 당신이해야 할 모든이의 Web.config의 machineKey에 compatibilityMode = "Framework20SP2"를 추가한다 :

<machineKey compatibilityMode="Framework20SP2" validationKey="..." 
    decryptionKey="..." validation="3DES" /> 

희망이 이것으로 실행 다른 사람을 도움이됩니다.

관련 문제