如注释中所写,旧代码不是“最佳实践”。你应该使用像PBKDF2这样的密钥生成算法,并且迭代次数很高。你还应该至少部分使用非静态(对于每个“身份”而言是唯一的)盐。如果可能,则随机生成并与密文一起存储。
SecureRandom sr = SecureRandom.getInstanceStrong(); byte[] salt = new byte[16]; sr.nextBytes(salt); PBEKeySpec spec = new PBEKeySpec(password.toCharArray(), salt, 1000, 128 * 8); SecretKey key = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1").generateSecret(spec); Cipher aes = Cipher.getInstance("AES"); aes.init(Cipher.ENCRYPT_MODE, key);


