我需要加密用户名和密码并对其进行编码并通过SOAP标头发送。 我使用DES算法来加密plainText`
String key = "qwer1234qwetr123wqw";
String x = "sadgsagd:%%^%ghsagdh";
byte[] keyBytes = new byte[1024];
byte[] plaintext = x.getBytes();
byte[] tdesKeyData = key.getBytes();
Cipher c3des = Cipher.getInstance("DESede/CBC/PKCS5Padding");
SecretKeySpec myKey = new SecretKeySpec(tdesKeyData, "DESede");
IvParameterSpec ivspec = new IvParameterSpec(keyBytes);
c3des.init(Cipher.ENCRYPT_MODE, myKey, ivspec);
byte[] cipherText = c3des.doFinal(plaintext);
int hash = Base64.encode(cipherText).hashCode();
return Base64.encode(cipherText);`
在运行时我遇到异常:
javax.crypto.BadPaddingException:给定
答案 0 :(得分:0)
如果您使用64
的字节缓冲区,我可能太长了将其更改为32
,
或使用此length
file
byte[] buffer = new byte[(int)new File("data").length()];
我的问题在这样做后得到解决..