RSA在Android中使用base64编码的公钥进行加密

苏雷什:

如何使用base-64编码的公钥对字节数组进行RSA加密?

在阅读了有关如何在Java中进行RSA加密的几篇文章之后,发现以下代码片段

public byte[] rsaEncrypt(byte[] data) {
  PublicKey pubKey = readKeyFromFile("/public.key");
  Cipher cipher = Cipher.getInstance("RSA");
  cipher.init(Cipher.ENCRYPT_MODE, pubKey);
  byte[] cipherData = cipher.doFinal(src);
  return cipherData;
}

我将公用密钥作为base64编码的字符串(126个字符),如何使用编码的字符串创建“ PublicKey”并将其与Cipher结合使用。

总统詹姆斯·波尔克(James K. Polk):

您的base64字符串可能是X509EncodedKeySpec。我只能猜。如果是这样,则应该对字符串进行base64解码以获得byte []然后X509EncodedKeySpec从此构造一个byte []然后创建一个RSA实例KeyFactory,并使用generatePublic()此KeyFactory 方法获得一个PublicKey然后可以将该公钥传递给Cipher.init()

注意:要执行base64解码,请使用apache commons编解码器Harder base64解码器

更新:2017年3月8日:最新消息好于现在,Java 8现在包含Base64编码/解码类, java.util.Base64

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用公钥加密数据并在python中使用base64对其进行编码?

如何使用公钥加密并使用 Javascript(NodeJS 等)使用 Base64 进行编码

PHP RSA公钥base64编码

使用Swift生成base64 url编码的X.509格式2048位RSA公钥?

从base64 RSA公钥生成SecKeyRef

在Android中使用公钥加密

如何使用php服务器中的HEX公钥在Android中使用RSA加密

如何使用OpenSSL EVP例程进行RSA公钥加密?

C#BouncyCastle-使用公钥/私钥进行RSA加密

在 OpenSSL 中使用 DER 编码的 RSA 公钥

用RSA加密并以base64编码的php文本在android中解密后不保留

使用RSA公钥加密AES密钥

RSA加密-公钥加密

使用AES和Base64编码进行加密和解密

检查base64文本是否为有效的RSA公钥(4096)

无法从Golang中的iOS解析base64 DER编码的ASN.1公钥

如何在C#RSA中使用私钥加密和使用公钥解密

Azure Key Vault - 检索 RSA 公钥以进行本地加密

如何在iOS中使用RSA公钥加密和解密字符串(纯文本)

iOS:使用公钥(具有模数和指数)进行RSA加密

如果只有公钥,如何使用RSA / OAEP进行加密/解密

使用android.util.Base64以Java进行Base64编码

Android Java-使用RSA公钥.PEM加密字符串

使用Webcrypto使用RSA加密到多个公钥

加密是否保留 Base64 编码

MSIE中使用base64进行文件名编码

使用给定的RSA公钥OpenSSL加密字符串

如何使用Python的加密模块加载RSA公钥

使用DER格式的RSA公钥文件的iOS加密