【发布时间】:2015-07-25 20:29:10
【问题描述】:
public static String encryptByPublicKey(byte[] data, String key)
throws Exception {
byte[] keyBytes = decryptBASE64(key);
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
Key publicKey = keyFactory.generatePublic(x509KeySpec);
Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
return new String(cipher.doFinal(data));
}
我有一个公钥,例如 MFWww.........EAAQ==。当我将字符串传递给该参数时,加密的消息是一些未知字符。因此,我怀疑在将键传递给函数之前我应该对键做一些事情。但我不知道我怎么能做到。所以看看任何人都可以提供帮助。
谢谢
【问题讨论】:
-
查看 BouncyCastle 和 Jasypt 库,但我不确定您是否可以在 android 上使用它们
标签: java android encryption rsa public-key