2010-04-05 2 views
2

우리는 Rijndael로 암호화 된 중요한 정보가 포함 된 쿠키를 작성하는 쿠키 관리 라이브러리를 보유하고 있습니다. 쿠키는 Moq를 사용하여 단위 테스트에서 암호화하고 암호 해독하며 ​​MVC 웹 응용 프로그램에서는 잘 작동하지만 ASP.net 2.0 웹 사이트에서 호출하면 쿠키를 해독 할 수 없습니다. "여백이 잘못되어 제거 할 수 없습니다."ASP 2.0 쿠키에 잘못된 패딩 인 MVC가 발생했습니다.

우리는 단위 테스트에서 무작위 데이터로 10,000 번 테스트했기 때문에 쿠키 값이 유효하다고 확신합니다. 문제를 일으키는 쿠키를 읽고 쓸 때 ASP.NET 2.0이 수행하는 작업에 대해 뭔가가 있습니다.

개가 있어야합니다. 어떤 제안?

답변

0

쿠키 값에 16 진수 문자가 유효하므로 데이터를 쿠키에 저장하기 전에 16 진수 인코딩하십시오. (Base64는 그대로는 아니지만 + =/문자를 _-.와 같이 바꿀 수 있습니다.) 또한 쿠키의 최대 길이는 제한되어 있지만이 제한이 무엇인지 잊어 버렸습니다.

큰 값을 직렬화하려는 경우 사용자가 세션에 액세스 할 수 없도록 세션에 저장하는 것이 좋습니다. 단점은 서버에서 메모리를 사용한다는 것이며, 웹 팜을 사용하는 경우 시스템간에 이러한 메모리를 동기화해야합니다.

+0

왜 asp.net mvc가 쿠키와 괜찮 았지만 webforms가 아니 었는지 확실하지 않지만 16 진수로 이동하면 문제가 해결 된 것 같습니다. 자주 발생하지 않는 임의의 문제는 디버깅하기가 어렵습니다! 감사합니다. –