这是String,例如:
"Apple"
Run Code Online (Sandbox Code Playgroud)
我想加零以填写8个字符:
"000Apple"
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
我是一个关于使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我吗?
谢谢