Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Генерация ключа для шифрования


Автор: regen 10.10.2006, 14:22
Добрый день.
У меня опять вопрос по криптографии в Java. В теме http://www.forum.vingrad.ru/index.php?showtopic=35894 прочитал что набор байт который подаётся на вход DESKeySpec - это лишь байты для генерации ключа.
А вот как сделать чтобы шифрование происходило именно на том ключе который мне нужен?
Поясню кодом:
Код

byte key[] = {0, 1, 2, 3, 4, 5, 6, 7}; // -- ключ на котором шифруем
SecretKey secretkey = /*что-то что позволит key->secretkey*/
/*далее вызываем secretkey.getEncoded() и получаем исходный ключ key*/
secretkey.getEncoded(); //возратит нам {0, 1, 2, 3, 4, 5, 6, 7}

Может сказал немного непонятно, сорри.
Заранее спасибо за ответы

Автор: powerOn 10.10.2006, 14:38
Цитата(regen @  10.10.2006,  15:22 Найти цитируемый пост)
А вот как сделать чтобы шифрование происходило именно на том ключе который мне нужен?


Я точно не понял что требуется, но может это:
Код

SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
SecretKey sk = skf.generateSecret(new DESKeySpec( new byte[] {1,2,3,4,5,6,7}));




Автор: regen 11.10.2006, 10:41
Нет. Не это.
Код

        SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
        byte[] key =  new byte[] {1,2,3,4,5,6,7, 8};
        System.out.println(key);
        SecretKey sk = skf_1.generateSecret(new DESKeySpec(key_1));
        System.out.println(sk.getEncoded());

Вывод System.out.println(key); и System.out.println(sk.getEncoded()); не совпадают.
DESKeySpec - лишь способ для генерации ключа, который использует для этого подаваемые ему на вход данные. Мне же надо чтобы для шифрования использовался именно key. Возможно ли это?

Автор: Alexandr87 12.10.2006, 17:30
ммм.
что то, сомневаюсь я, что getEncoded возвращает массив байтов - ключ.

Никогда не было нужно использовать именно байтовый массив, как ключ, обычно для хранения ключей используют класс KeyStore.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)