0

我正在使用 64base 数据加密功能来加密和解密在链接中发送并返回 QueryString 的 emil 地址,使用:

Encrypt(txtEmail.Text).ToString 

// 生成类似这样的“pqM/rgLD9PSrE+Ofm4pt4kg86+1RChHD”

Decrypt(Request("email").ToString

但是 Decrypt 不能正常工作并返回错误“Base-64 字符数组的长度无效”,直到我喜欢我可以使用以下方法解决它:

Decrypt(Request("email").Replace(" ", "+").ToString)

由于从 URL 调用时加号“+”字符会生成空格。我也试过 UrlEncode 但没有帮助

Decrypt(Server.UrlEncode(Request("email")))

现在我的问题是:

  1. 这是加密字符串可能面临的唯一问题吗?
  2. 有没有比我使用替换功能更有效的解决问题的方法?

谢谢大家

4

1 回答 1

0

如果您没有正确生成 URL,就会发生这种情况。

ASP.NetRequest访问器将自动解码您访问的数据。

但是,您需要先对字符串进行 URL 数据编码,然后再将其放入查询字符串中。

于 2013-01-10T17:37:58.837 回答