在我的 Web 应用程序中,我们使用 PBEWithMD5AndDES
加密查询参数,然后使用 sun.misc.BASE64Encoder().encode()
对其进行编码。它使整个 URL 的长度超过 140 个字符。有没有办法在不改变加密和编码的情况下,将长度减少到 80 个字符左右?如果我必须更改加密算法和编码以减少长度,我应该使用什么来保持安全性?
最佳答案
Base64 编码有其已知的开销,加密也有开销 - 切换到不同的编码算法可能会减少开销,加密算法也可能会减少开销 - 但我认为这里没有确定的赌注 - 你可以将它减少到 139 个字符对于您当前的数据集,但任何其他数据要求都可能再次重复该问题。
我看到两个选项:
- 在加密之前压缩数据 -
优点:相对容易开发。
缺点:可能会影响性能,可能无法充分减小尺寸。 - 使用 POST 并在响应正文中传递参数而不是作为查询参数。
优点:加密数据未记录在服务器日志中(安全),大小“无限制” 缺点:可能需要更多的开发时间,在您的环境中可能完全不可能(外部要求、技术问题等)
如果有机会,我会选择选项 #2。
关于java - 减少查询字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20487749/