간단하고 완전한 코드. 이 코드를 통해 Java에서 RSA 암호화 알고리즘의 구현 방법에 대한 예비 이해를 갖게됩니다. 이 클래스를 직접 사용할 수 있습니다. 레벨이 높은 경우 코드를 직접 수정하고 개선하십시오.
패키지 보안; Java.security.*; import java.security.spec.*; import java.security.interfaces.*; import javax.crypto.spec.*; import javax.crypto.interfaces.*; import java.io. generatekey () {try {kyypairgenerator kpg = kyypairgenerator.getInstance ( "rsa"); kpg.initialize (1024); kyypair kp = kpg.genkeypair (); publickey pbkey = kp.getpublic (); private strey = kpeputepprivate (); FileOutputStream ( "pubkey.dat"); ObjectOutputStream b1 = new ObjectOutputStream (f1); b1.writeObject (pbkey); // 개인 키 파일 아웃 푸트 스트림 f2 = 새로운 파일 아웃 푸트 스트림 ( "privatekey.dat"); ObjectOutputStream b2 = new ObjectOutputStream (f2);} (prkey);}; {}} public static void alcrypt ()는 예외를 던져 {문자열 s = "hello world!"; // 공개 키와 매개 변수를 얻습니다. nfileInputStream f = new FileInputStream ( "pubkey.dat"); ObjectInputStream b = new ObjectInputStream (f); rsapublic pbk = (rsapublickey); pbk.getpublicexponent (); biginteger n = pbk.getModulus (); system.out.println ( "e =" + e); system.out.println ( "n =" + n); // plaintext mbyte ptext [] = s.getbytes ( "utf-8"); biginteger (ptext); ciphertext cbiginteger c = m.modpow (e, n); system.out.println ( "c =" + c); // ciphertext 문자열 cs = c.toString (); bufferedWriter out = new bufferedWriter (new fileoutStreamWriter ( "encrypt.dat")); cs.length ()); out.close ();} public static void decrypt ()는 예외를 던져 예외 {// 새로운 bufferedReader (new inputsTreamReader (new fileInputStream ( "Emcrypt.Dat")); in. Readline (); 새로운 BigInteger (ctext); fileInputStream f = new FileInputStream ( "privatekey.dat"); objectInputStream b = new ObjectInputStream (f); rsaprivatekey prk = (rsaprivatekey) b.readobject (); biginteger d = prk.getPrivateExponent (); // 개인 키 매개 변수 및 decryps get biginteger n = prk.getModulus (); system.out.println ( "d =" + d); system.out.println ( "n =" + n); biginteger m = c.modpow (d, n); // descryption results system.out.println ( "m =" + m); byte [] mt = m.tobytln (); is "); for (int i = 0; 나는 <mt.length; i ++) {system.out.print ((char) mt [i]);}} public static void main (String args []) {try {generatekey (); encrypt (); decrypt () catch (예외 e) {system.out.println (e.tostring ());}}}Java RSA 암호화 알고리즘의 간단한 구현 방법에 대한 위의 기사는 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.