When you generate the url, use Server.UrlEncode on the encrypted value because you have a few special characters that need encoded.
url += "?resource=" + Server.UrlEncode(someVar);
Request.QueryString automatically decodes it so you don't need to do any change there.