目的:Android下使用java.security.* 实现RSA2048加解密
环境:
系统: Win10
环境: AndroidStudio 3.6.1
问题分析:
开发过程中会经常需要使用RSA2048加解密的情况。
解决步骤:
记录代码如下:
package com.example.test;
import android.util.Base64;
import android.util.Log;
import javax.crypto.*;
import java.io.*;
import java.security.*;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
/**
* RSA2048, encrypt and decrypt.
*
* Fun1: RSA, encrypt by public key.
* Fun2: RSA, decrypt with private key.
*/
public class RSAEncryptDecrypt {
// rsa 1024
//private static int RSA_PRIVATE_ENCRYPT_MAX_SIZE = 117;
//private static int RSA_PRIVATE_DECRYPT_MAX_SIZE = 128;
// rsa 2048
private static int RSA_PRIVATE_ENCRYPT_MAX_SIZE = 256;
private static int RSA_PRIVATE_DECRYPT_MAX_SIZE = 256;
/**
* Fun1: RSA, encrypt by public key.
*
* @param data plainText
* @return cipherText
*/
public static byte[] publicRSAEncrypt(byte[] pubKey, byte[] data) {
if(pubKey

本文档详细介绍了在Android环境下,如何利用java.security.*包中的类实现RSA2048位的加解密操作。针对开发中可能遇到的需求,提供了具体的代码记录,以供参考。
最低0.47元/天 解锁文章
4274

被折叠的 条评论
为什么被折叠?



