4

내 응용 프로그램에서 사용자의 전자 메일 주소를 가져 와서 암호화하고 URL 인코딩하여 QueryString에 전달합니다.Request.Querystring은 암호화 된 텍스트에서 문자를 제거합니다.

email = Server.UrlEncode(aes.Encrypt(email)); 

방문 페이지는 Request.Querystring [ "email"]을 실행하고 URL을 디코딩 한 다음 해독합니다. 는 "+"문자가 제거되고 있었다 때문에 암호 해독이 실패 된 곳

string email   = Server.UrlDecode(Request.QueryString["eId"]); 
    string decemail   = aes.Decrypt(email); 
    return decemail; 

매우 이상한 행동이 발생했다.

UrlDecode를 제거하려고 시도했지만 문제가 해결되지 않았습니다.

 string email   = Request.QueryString["eId"].ToString(); 
     string decemail   = aes.Decrypt(email); 
     return decemail; 

이 URLDECODE 제거하기 및 쿼리 문자열에 ToString()를 호출 : 문제를 해결 무엇

는이 일을했다.

왜 이런 일이 일어날 지 알고 있습니까? Request.QueryString은 기본적으로 urlDecode를 호출합니까? 나는 그렇게 생각하지 않는다.

또한이 인스턴스에서 .ToString()이 작동하는 이유는 무엇입니까?

답변

관련 문제