Шифрование с использованием Blowfish в режиме CBC на Java - PullRequest
0 голосов
/ 18 января 2012

Мне нужно зашифровать определенную строку, используя шифрование Blowfish в режиме CBC без заполнения в Java.Я провел некоторое исследование и нашел этот вопрос: шифрование и дешифрование с использованием java .

Я хочу знать, как я мог бы использовать базовую строку в качестве ключа в методе init шифраобъект.В этом примере keySpec - это не строка, а строка, зашифрованная с помощью SHA-256.

В примере:

cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec);

, где keySpec - это SecretKeySpec объект

Что мне нужно:

cipher.init(Cipher.ENCRYPT_MODE, keyString, ivSpec);

, где keyString - это String объект

Я знаю, что использование базовой строки менее безопасно, чем автоматическая генерация.Но знаете ли вы, как я мог бы использовать строку в качестве ключа?

1 Ответ

0 голосов
/ 18 января 2012

Это работает?

SecretKey secretKey = new SecretKeySpec(keyString.getBytes(charset), "Blowfish");
cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivSpec);
...