【问题标题】:Android: Do the random SALT bytes passed to AESObfuscator need to stay the same?Android:传递给 AESObfuscator 的随机 SALT 字节是否需要保持不变?
【发布时间】:2013-04-16 17:27:27
【问题描述】:

我正在我的 Android 应用程序中实现许可,并且需要将 20 个字节的数组传递给传递给 ServerManagedPolicy 对象的 AESObfuscator。这个数组是不是每次运行代码时都是随机生成的,还是必须硬编码?

现在我像这样随机生成盐:

private static final byte[] SALT;

static {
    Random random = new Random();
    random.setSeed(System.currentTimeMillis());
    byte[] buf = new byte[20];
    random.nextBytes(buf);
    SALT = buf;
}

【问题讨论】:

    标签: android obfuscation salt


    【解决方案1】:

    有点晚了,但是是的:盐必须保持不变才能再次解密存储的值。

    基本上,Salting 意味着随机化密码短语以使字典攻击更加困难。 How does a salt protect against a dictionary attack?

    更新(一年后 :) 顺便说一句:对字节使用 SecureRandom 生成器而不是 Random 生成器 - 它更好(我可以详细说明,但您可以在其他地方找到也一样。http://docs.oracle.com/javase/7/docs/api/java/security/SecureRandom.html)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-13
      • 2015-01-28
      • 1970-01-01
      • 2021-06-11
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      相关资源
      最近更新 更多