(一)RSA加密(字串大小不限)
private byte[] encryptData;
public RSAEncryptEngin (byte[] data, RSAPublicKey publicKey){
try {
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
ByteArrayOutputStream out = new ByteArrayOutputStream(53);
int blockSize = 53;
int thisBlockSize;
for(int i = 0; i<data.length; i+=blockSize){
if (data.length - i <= blockSize)
{
thisBlockSize = data.length - i;
}
else
{
thisBlockSize = blockSize;
}
out.write(cipher.doFinal(data, i, thisBlockSize));
private byte[] encryptData;
public RSAEncryptEngin (byte[] data, RSAPublicKey publicKey){
try {
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
ByteArrayOutputStream out = new ByteArrayOutputStream(53);
int blockSize = 53;
int thisBlockSize;
for(int i = 0; i<data.length; i+=blockSize){
if (data.length - i <= blockSize)
{
thisBlockSize = data.length - i;
}
else
{
thisBlockSize = blockSize;
}
out.write(cipher.doFinal(data, i, thisBlockSize));
