шифрование отказов замка aes в ежевике - PullRequest
4 голосов
/ 03 декабря 2010

Можете ли вы объяснить, как AES / CBC / PKCS5Padding шифрования и дешифрования с помощью bounce

замок я сам старался не очень, но не добился успеха.

в сети я не получаю учебник по этому вопросу

1 Ответ

0 голосов
/ 15 декабря 2010

Полагаю, вы спрашиваете об облегченном API Bouncy Castle, который является частью выпуска J2ME. На странице спецификаций приведен пример использования API. Я обновил его, чтобы соответствовать последнему API. (Обратите внимание, что я не пытался запустить это.)

BlockCipher engine = new AESEngine();
BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(engine));

byte[] key = keyString.getBytes();
byte[] input = inputString.getBytes();

cipher.init(true, new ParametersWithIV(new KeyParameter(key), ivBytes));

byte[] cipherText = new byte[cipher.getOutputSize(input.length)];

int outputLen = cipher.processBytes(input, 0, input.length, cipherText, 0);
try
{
    cipher.doFinal(cipherText, outputLen);
}
catch (CryptoException ce)
{
    System.err.println(ce);
    System.exit(1);
}

Обратите внимание, что режим заполнения по умолчанию PaddedBufferedBlockCipher - PKCS7 / PKCS5.

Расшифровка аналогична, но вы бы позвонили cipher.init(false, ...) и передали зашифрованный текст processBytes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...