【问题标题】:how to obfuscate an INT64?如何混淆 INT64?
【发布时间】:2021-02-10 18:32:19
【问题描述】:

如何混淆 Int64 以便不明显知道原始值?我不是在寻找可怕的东西,一些简单的混淆方法。

【问题讨论】:

标签: encryption hashmap obfuscation


【解决方案1】:

用静态值异或。再次与相同的静态值异或得到原始值。

【讨论】:

  • 带有静态值的 Xor ?
  • 只生成任意随机数。但请记住,您必须在去混淆时使用相同的随机数。
【解决方案2】:

为什么要混淆它?你在混淆什么?

例如,如果您尝试保护单个 64 位整数免受 static analysis 的影响,则 xor 方法会在一定程度上保护它。如果您正在寻找来自dynamic analysis 的保护,您将需要一个提供防调试和防篡改保护的更复杂的解决方案。

为什么这个常数值得保护?对此有何程序限制,例如这个值需要多久显示一次?

使用真正的加密算法进行加密会比使用另一个值进行异或运算更进一步,而且实际上并不难。您可以使用AES/CBC/PKCS5PaddingAEScurrent standard algorithmCBC 用于链接块(这与只有 8 个字节的数据无关),PKCS5Padding 是填充以允许小于块大小)。整个互联网都有例子,包括SO(Rijndael 是 AES)。

【讨论】:

  • 只是 google api 不希望我们将原始用户 ID 传递给他们,而是将其混淆。对我来说,用户 ID 不是敏感数据,我只需要对其进行模糊处理以符合 GG api
  • @lok​​i 您需要实际值,还是该值的散列就足够了?如果是这样,我会使用适当的盐来查看像 SHA256 这样的单向哈希。
  • 不幸的是,我还需要取回价值:(
  • 关于如何使用 Google API 处理标识符的更具体的问题可能会为您提供更好的答案,尽管我不知道它会出现在 SO 主站点上。我希望 Google API 文档能够提供有关如何处理此问题的建议,因为这似乎最终会成为 API 用户会遇到的常见问题。
猜你喜欢
  • 2011-07-03
  • 1970-01-01
  • 2019-11-23
  • 2015-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
相关资源
最近更新 更多