【发布时间】:2010-11-15 20:29:58
【问题描述】:
我是一个关于使用 java 的 bouncycastle 进行加密的项目。
但是,当我加密消息时,它会为我抛出异常。
javax.crypto.IllegalBlockSizeException:数据未对齐块大小
我正在使用 Blowfish/ECB/NoPadding,消息是 xml。
public static void main(String args[]){
String message = "<abc>ABCDEFG</abc>";
String key = "key";
byte[] b = encrypt(message.getBytes(), key.getBytes());
}
public byte[] encrypt(byte encrypt[], byte en_key[]) {
try {
SecretKeySpec key = new SecretKeySpec(en_key, "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish/ECB/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, en_key);
return cipher.doFinal(encrypt);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
谁能帮帮我?
谢谢
【问题讨论】:
-
public static void main(String args[]){ String message = "
ABCDEFG ";字符串键 = "键"; byte[] b = encrypt(message.getBytes(), key.getBytes()); } public byte[] encrypt(byte encrypt[], byte en_key[]) { try { SecretKeySpec key = new SecretKeySpec(en_key, "Blowfish"); Cipher cipher = Cipher.getInstance("Blowfish/ECB/NoPadding"); cipher.init(Cipher.ENCRYPT_MODE, en_key);返回 cipher.doFinal(加密); } 捕捉(异常 e){ e.printStackTrace();返回空值; } } -
您可以编辑您的问题并将您的代码放在那里(格式化为代码,使用“0101010”图标)而不是放在评论中吗?
标签: java