DES加密与解密在GET请求时解密失败的问题
在数据进行加密后传递会更安全,但可能有个问题:
就是Url编码问题,如果不对Url进行编码直接加密,那么在解密时,如果字符串存在 “+”,这种特殊符号,在解密时会出现替换它成"",此时在解密就会无法解开。导致错误的结果
解决方法1:
加密后进行Url编码,解密的时候:先进行Url解码,再解密
解决方法2:
先对字符进行Url编码,再加密,这时不会出现 +号等字符,解密的时候,先解密,再解码
//加密
string InviteUserID = Utils.UrlEncode(Security.DES.EncryptDES(UserID, "abcd1234"));
//解密
string InviteUserID = Utils.UrlDecode(Security.DES.DecryptDES(UserID, "abcd1234"));