我正在开发一个必须为用户提供包含加密查询参数的链接的 Groovy 应用程序。目前我们使用 AES 加密算法,所有链接都使用相同的 IV。我们知道这很糟糕(因此我们想要切换),但这样做的原因是为了限制查询参数的大小(包括每个查询参数的 base64 编码的 16 字节初始化向量使链接很长)。我们想切换到非确定性算法,以便我们在查询数据中具有所需的随机性,但不必将 IV 存储在查询参数中。
由于我们使用的是 Groovy,我们可以使用 Java 中的任何东西。尽管我不确定要开始研究哪种算法,但还没有做太多的加密工作。理想情况下,我们想要一个在 Java SE 中可用或作为可免费使用的 Java 库的库。此外,任何有关如何实现这些算法的详细信息的链接都受到高度赞赏。