, когда вы хотите зашифровать что-то, что вы не хотите, чтобы ключ расшифровывался, чтобы вас определил, а не генератор каким-то генератором случайных чисел?Почему ключ aes должен генерироваться случайным образом?
Я вижу этот код в столбце stackoverflow. но я не хочу, чтобы ключ генерировался случайным образом. Я хочу, чтобы пользователь попросил ввести ключ, и на этом основании должно произойти шифрование.
любые предложения, как мне изменить код?
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec spec = new PBEKeySpec(password, salt, 1024, 256);
SecretKey tmp = factory.generateSecret(spec);
SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES");
Также посредством случайного генерации ключ обычно выбирается в полном «ключевом пространстве», в котором с помощью определенных пользователем ключей они обычно ограничены буквами и цифрами. – mjv
Ну, вы могли бы компенсировать это, попросив у пользователя больше букв и цифр и хеширования ввода необходимой ширины. – sharptooth
Да, это именно то, что делает код OP, используя PBKDF2. – erickson