Android:传递给AESObfuscator的随机SALT字节是否需要保持不变?
我正在我的Android应用程序中实现许可,需要将一个包含20个字节的数组传递到AESObfuscator,该AESObfuscator被传递到ServerManagedPolicy对象。该数组是否可以在每次运行代码时随机生成,还是必须硬编码 现在我随机生成盐,如下所示:Android:传递给AESObfuscator的随机SALT字节是否需要保持不变?,android,obfuscation,salt,Android,Obfuscation,Salt,我正在我的Android应用程序中实现许可,需要将一个包含20个字节的数组传递到AESObfuscator,该AESObfuscator被传递到ServerManagedPolicy对象。该数组是否可以在每次运行代码时随机生成,还是必须硬编码 现在我随机生成盐,如下所示: private static final byte[] SALT; static { Random random = new Random(); random.setSeed(System.currentTi
private static final byte[] SALT;
static {
Random random = new Random();
random.setSeed(System.currentTimeMillis());
byte[] buf = new byte[20];
random.nextBytes(buf);
SALT = buf;
}
有点晚了,但是是:salt必须保持不变,才能再次解密存储的值 基本上,salt意味着将密码短语随机化,以使字典攻击更加困难 更新(一年后:)顺便说一句:对字节使用SecureRandom生成器,而不是随机生成器-这样更好(我可以详细介绍,但你也可以在其他地方找到。)