사용자 도구

사이트 도구


java:crypt:rsa

Java RSA

기본 암호화 복호화 예제

암호화 복호화 데이터 길이 제한

RSA 키를 저장했다가 복구하기

RSA 키(public/private)을 hex 문자열로 만들어 저장했다가, hex 문자열에서 다시 키 객체를 생성할 수 있다.

아래는 PublicKey 예이며, PrivateKeyRSAPrivateKeySpec를 사용하면 된다.

Key를 hex 문자열로

KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA");
generator.initialize(1024);
 
KeyPair keyPair = generator.generateKeyPair();
 
PublicKey publicKey = keyPair.getPublic();
 
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
 
RSAPublicKeySpec publicSpec = keyFactory.getKeySpec(publicKey, RSAPublicKeySpec.class);
 
String publicKeyModulus = publicSpec.getModulus().toString(16);
String publicKeyExponent = publicSpec.getPublicExponent().toString(16);

hex 문자열에서 Key로

BigInteger modulus = new BigInteger(publicKeyModuls, 16);
BigInteger exponent = new BigInteger(publicKeyExponent, 16);
RSAPublicKeySpec pubks = new RSAPublicKeySpec(modulus, exponent);
 
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
 
PublicKey publicKey = keyFactory.generatePublic(pubks);
java/crypt/rsa.txt · 마지막으로 수정됨: 2013/01/23 17:23 저자 kwon37xi