자바에서 RSA를 이해하려고하는데,이 코드가 "Hello, World"를 인쇄하지 않는 이유를 알 수 없다. 키 쌍을 만들고, "Hello World"를 암호화하고 해독하여 올바르게 이해했는지 확인하십시오. 나는RSA Hello World 프로그램 ... 왜 작동하지 않는가?
System.out.print(new String(plainData));
에 잘못된
import java.security.*;
import java.math.BigInteger;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import javax.crypto.spec.*;
import java.security.spec.*;
import java.io.BufferedOutputStream;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import javax.crypto.Cipher;
public class testrsa
{
public static void main(String [] args)
{
try
{
byte[] cipherData, plainData;
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(4096);
KeyPair kp = kpg.genKeyPair();
Key publicKey = kp.getPublic();
Key privateKey = kp.getPrivate();
Cipher cipher1 = Cipher.getInstance("RSA");
cipher1.init(Cipher.ENCRYPT_MODE, publicKey);
cipherData = cipher1.doFinal("Hello, Word".getBytes());
Cipher cipher2 = Cipher.getInstance("RSA");
cipher2.init(Cipher.DECRYPT_MODE, privateKey);
plainData = cipher2.doFinal(cipherData);
System.out.print(plainData.toString());
}
catch(Exception ex)
{
System.out.print(ex.toString());
}
}
}
여기를보세요 : http://stackoverflow.com/questions/13556295/rsa-encryption-in-android/13571113#13571113 – Frank
오류 메시지가 무엇인가요? – Miquel