类型: 安全缺陷

    当程序中使用硬编码加密密钥时,所有项目开发人员都可以查看该密钥,甚至如果攻击者可以获取到程序class文件,可以通过反编译得到密钥,硬编码加密密钥会大大降低系统安全性。

    1. private static String encryptionKey = "lifeisgood";
    2. ...
    3. byte[] keyBytes = encryptionKey.getBytes();
    4. SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
    5. Cipher encryptCipher = Cipher.getInstance("AES");
    6. encryptCipher.init(Cipher.ENCRYPT_MODE, key);