【问题标题】:How to Encrypt and Decrypt the data and how to send in Querystring url如何加密和解密数据以及如何在 Querystring url 中发送
【发布时间】:2011-10-07 09:42:13
【问题描述】:
我有一个 Web 应用程序,其中有两种形式,我通过 Querystring 传递了加密数据。在第二页中,我获取 Querystring 数据,然后我需要解密数据并在我的页面中绑定该数据。 ..为此,我已经在这个加密和解密中编写了代码,并且在一个(相同的 aspx)页面中工作,但是当我重定向页面时,解密会抛出类似的错误
Invalid length for a Base-64 char array.
我可以做些什么来解决这个错误请帮助我..
【问题讨论】:
标签:
asp.net
encryption
query-string
【解决方案1】:
64 位编码不适用于字符串中的空格
添加以下内容:stringToDecrypt = stringToDecrypt.Replace(" ","+");
调用 FromBase64String 方法时,加号将被解释为空格
【解决方案2】:
这背后的唯一原因是您在解密查询字符串的页面上的查询字符串中没有传递正确的值(值已明确更改或未使用 HttpUtility.UrlEncode() 加密时)。
并确保您在解密时使用 HttpUtility.UrlDecode。