java - Base64编码字符串搜索

标签 java search base64 encode

我有一个 base64 编码的字符串。如何搜索此字符串以检查此字符串是否包含未编码的特定子字符串?我不想解码那个字符串然后搜索它。

我可以只对那个特定的子字符串进行编码,然后使用编码的子字符串搜索编码的字符串吗?

谢谢,

最佳答案

最好的方法可能就是解码字符串。但是,如果真的有必要,可以即时执行此操作,而不是先进行完整解码再进行搜索。您必须执行一次搜索,并且只解码您当前正在检查的那部分。这很可能仅在您确实不想(或不能)在内存中存储两次的非常非常大的字符串时才有用。

如果您搜索的字符串足够长,您还可以使用不同的填充(例如 ''、'x' 和 'xx')对该字符串进行三次编码,然后搜索没有前 4 个字符和后 4 个字符的字符串(你不想匹配填充)。当您找到匹配项时,您必须确保对齐与填充相对应,并验证您尚未匹配的部分(由于填充)是否也到位。当然,后者确实需要一些解码。

关于java - Base64编码字符串搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/347235/

相关文章:

search - 指数搜索树

MySQL 多字段搜索使用 Like 子句

MySQL:如何从两个字段进行搜索?

java - Maven:在打包期间执行antrun任务

调用重复函数时,Java 唯一代码生成失败

c - 如何在 C 中将图像转换为 base64?

python - 在 Python 3 中将整数的字符串表示形式编码为 base64

powershell - 文件的 PS SHA512 哈希,输出为 base 64 编码字符串

java - MapEditor 导出为 JSON - 对象已加密?

java - Java性能小问题