java - 减少查询字符串长度

标签 java url-rewriting

在我的 Web 应用程序中,我们使用 PBEWithMD5AndDES 加密查询参数,然后使用 sun.misc.BASE64Encoder().encode() 对其进行编码。它使整个 URL 的长度超过 140 个字符。有没有办法在不改变加密和编码的情况下,将长度减少到 80 个字符左右?如果我必须更改加密算法和编码以减少长度,我应该使用什么来保持安全性?

最佳答案

Base64 编码有其已知的开销,加密也有开销 - 切换到不同的编码算法可能会减少开销,加密算法也可能会减少开销 - 但我认为这里没有确定的赌注 - 你可以将它减少到 139 个字符对于您当前的数据集,但任何其他数据要求都可能再次重复该问题。

我看到两个选项:

  1. 在加密之前压缩数据 -
    优点:相对容易开发。
    缺点:可能会影响性能,可能无法充分减小尺寸。
  2. 使用 POST 并在响应正文中传递参数而不是作为查询参数。
    优点:加密数据未记录在服务器日志中(安全),大小“无限制” 缺点:可能需要更多的开发时间,在您的环境中可能完全不可能(外部要求、技术问题等)

如果有机会,我会选择选项 #2。

关于java - 减少查询字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20487749/

相关文章:

java - 如何在不重新启动速度的情况下编辑 velocimacro?

java - urlrewritefilter 不重定向

.htaccess - 从 URL 中隐藏目录名称

c# - 如何在 ASP.NET Core 中添加出站重写规则

asp.net - 更改 ASP.NET MVC 或 IIS 中的 URL 根路径

codeigniter - 如何在Windows Azure上重写Codeigniter的index.php

java - 带有 spring-mybatis 的 spring-boot - 如何强制它记录所有 SQL 查询

Java并发控制多把锁

java - 面临SpringBoot Security模块登录错误

java - hibernate : JDBC Vs Hibernate Performance in bulk records