base64 - 混淆 base 64 字符串的好方法是什么?

标签 base64 obfuscation deobfuscation

Base64 编码通常用于混淆明文,我想知道是否有任何快速/简单的方法来混淆 base 64 字符串,这样它就不容易被识别。为此,该方法应该混淆填充字符 (='s),使它们变成其他符号并且更加分散。

有谁知道一种简单(且容易逆转)的方法来做到这一点?

您可以使用移位密码,但我正在寻找更全面的东西,例如,如果我的移位密码映射到 a,有人可能会注意到一个经常以 a 结尾的字符串。

目的不是为了增加安全性,其实就是简单的让base64不能被识别为base64。它也不需要通过安全专业,只需要一个知道base64是什么以及它长什么样的人。例如(末尾的 = 等)

我描述的方法可能会添加非 base 64 字符,例如 ^%$#@!,以帮助混淆读者。

大多数回复似乎都是关于我为什么要这样做的主题,基本的答案是该操作将完成无数次(所以我想要便宜的东西),并且在一个无法记住密码的方式(为什么我不异或)。此外,数据不是高度敏感的,只是用作针对临时用户的一种方法,他们可能知道 base 64 字符串是什么。

最佳答案

一些建议:

  1. 去除任何结尾 =(根据 Wikipedia 不需要它们),然后按位取反每个字节。这会将文本转换为大部分不可读的字符。
  2. 遍历数据并异或每个字符及其位置,以 256 为模。这将消除任何简单的统计分析,因为每个字符的映射取决于字符串中的位置。

关于base64 - 混淆 base 64 字符串的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6795714/

相关文章:

java-8 - 无法使用 java.util.Base64 正确编码和解码

php - 将图像存储在 MySQL BLOB 中

c# - int + string 怎么变成字符串?

amazon-ec2 - Amazon EC2 实例 ID - 为什么要 XOR?

JavaScript 数组反混淆

java - 这个有效的 Java 代码如何? (混淆的Java)

javascript - 我如何解码一个 javascript 片段,该片段被似乎是带有 eval() 函数的 unicode 或 regex 字符串混淆?

c++ - 在二进制数据(密文)上使用 CryptoPP::Base64Encoder

java - 使用 Java Base64 库进行 Base 64 转换导致错误结果

android - 在 Android 上保持 TensorFlow 模型加密