AES使用jks文件加密和解密

时间:2018-02-09 04:38:20

标签: aes

我有一个小疑问,因为我是AES新手。

我使用一个证书加密了一个字符串,但有一些密码,比如'xxx'。

现在我通过更改密码来复制证书。

当我尝试使用重复的证书解密加密的字符串时,它表示填充异常错误。线程“main”中的异常javax.crypto.BadPaddingException:给定最终块未正确填充

但是,当我使用原始证书时,它会正确解密。

有人可以指导我吗?

public int stringMatch(String a, String b) {
  // Figure which string is sho`enter code here`rter.
  int len = Math.min(a.length(), b.length());
  int count = 0;

  // Look at both substrings starting at i
  for (int i=0; i<len-1; i++) {
    String aSub = a.substring(i, i+2);
    String bSub = b.substring(i, i+2);
    if (aSub.equals(bSub)) {  // Use .equals() with strings
      count++;
    }
  }
  return count;
}

1 个答案:

答案 0 :(得分:0)

您应该使用RSA来打包/解包AES密钥。公钥与AES密钥不相同,因此以下代码肯定不正确:

Key key = cert.getPublicKey();
aesSecretKey = new SecretKeySpec(key.getEncoded(), algorithm);