我已经使用 AES 加密了一个字符串。我已经为 AES 提供了这样做的密钥。现在,我正在尝试用 RSA 加密给定的密钥(直到这里一切顺利),现在我需要再次用 RSA 加密这个加密的密钥。我收到错误消息“数据不得超过 117 个字节”。
public String encrypt(String DATA,String key_string) throws Exception {
String separator = "//msit//";
byte[] data = key_string.getBytes();
MessageDigest sha = MessageDigest.getInstance("SHA-1");
data = sha.digest(data);
data = Arrays.copyOf(data, 16); // use only first 128 bit
SecretKey key = new SecretKeySpec(data, "AES");
String final_matter = DATA + separator;
System.out.println(final_matter);
ecipher = Cipher.getInstance("AES");
ecipher.init(Cipher.ENCRYPT_MODE, key);
byte[] utf8 = final_matter.getBytes("UTF8");
byte[] enc = ecipher.doFinal(utf8);
return new sun.misc.BASE64Encoder().encode(enc);
}