查看: 886|回复: 3
|
BouncyCastle - Encryption 问题
[复制链接]
|
|
byte[] abyKey = "key".getBytes();
byte[] abyMsg = "PlainTextMsg".getBytes();
BlockCipher engine = new AESEngine();
BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(engine));
KeyParameter oKeyParameter = new KeyParameter(abyKey);
byte[] abyOut = new byte[ cipher.getOutputSize(abyMsg.length) ];
cipher.init(true, oKeyParameter);
int outputLen = cipher.processBytes(abyMsg, 0, abyMsg.length, abyOut, 0);
try
{
cipher.doFinal(abyOut, outputLen);
}
catch(Exception ex)
{
}
上面的code都能成功encrypt.但是却会出问题当the length of abyMsg 是 16 的倍数。
有人能帮我吗? |
|
|
|
|
|
|
|
发表于 24-2-2006 10:34 AM
|
显示全部楼层
BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(engine));
我想你应该用PaddedBufferedBlockCipher吧....
[ 本帖最后由 AquaMax 于 24-2-2006 10:36 AM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 24-2-2006 06:04 PM
|
显示全部楼层
不对,已经试过了。
BufferedBlockCipher 是 PaddedBufferedBlockCipher 的 superclass。
所以应该不是这个出问题。Anyway,谢谢您的回复。 |
|
|
|
|
|
|
|
楼主 |
发表于 24-2-2006 06:18 PM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|