java - 简短的、不区分大小写的字符串混淆策略

标签 java encryption obfuscation

我正在寻找一种方法来识别(即编码 解码)一组具有一个标记的 Java 字符串。标识不应涉及数据库持久性。到目前为止,我研究了 Base64 编码和 DES 加密,但就以下要求而言,两者都不是最佳选择:

  • token尽量短
  • token 应该对大小写不敏感
  • token 应该在 URLEncoder/Decoder 往返过程中存活(即,将在 URL 中使用)

Base32 是我最好的选择还是有更好的选择?请注意,我主要对缩短和混淆集合感兴趣,加密/安全性并不重要。

最佳答案

文本的结构(即字符串集)是什么?您可以使用您对它的了解以缩短的形式对其进行编码。例如。如果你有大的十进制数“1234567890”,你可以将它翻译成 36 进制数,这样会更短。

否则看起来您正在尝试发明一个通用归档器。

如果您不关心长度,那么是的,通过基于字母表的编码器(例如 Base32)进行处理是唯一的选择。

此外,如果文本足够大,也许您可​​以通过 gzip 压缩来节省一些空间。

关于java - 简短的、不区分大小写的字符串混淆策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8134311/

相关文章:

java - JSONPath 获取 JSON 字符串形式的数组元素

java - 使用PBKDF2 java解密和加密

Silverlight 代码混淆

java - 用于代码操作的 Eclipse 抽象语法树解析器的替代方案

C# MD5CryptoServiceProvider

Java & Android 混淆器工具建议

java - 如何将日历的时间与java.sql.Time对象进行比较?

java - 如何清楚地检查 HTTP 返回码是否在服务器端异常代码族中

java - 在 redisson 中设置一些存储桶之前是否需要锁定?

java - 关于用于压缩文件的免费库的建议