2009-12-18 2 views
1

에서 생성 및 인코딩 된 키를 사용하는 방법 : 종료 한 후 (나는이 같은 키를 생성하는 경우 JCE

System.out.println("used key: " + aesKlic.getEncoded()); 

을 그리고 지금은 암호 해독에 사용하려면 :

SecretKey aesKey = KeyGenerator.getInstance("AES").generateKey(); 

그런 다음 그것을 디코딩 프로그램을 시작한 후 다시 시작). 물론,이 같은 뭔가가 작동하지 않습니다

SecretKey aesKey = [email protected][[email protected]; 

을 끝 문자열 키를 디코딩합니다.

답변

1

getEncoded()toString()의 구현이 찾고있는 것과 다릅니다. byte[]을 반환합니다.

아마도 16 진수 또는 키의 base64 표현을 찾고있을 것입니다. Base64.encodeBase64String(byte[])

(모두 apache commons-codec에서) 당신이 프로그램을 다시 시작할 때 문자열 인코딩 된 키 (예를 복원 할 필요가

-

진수를 들어, Base64로 들어 Hex.encodeHex(byte[])

사용할 수 있습니다), 위의 메소드와 동일한 해독 메소드 (동일한 클래스에있는 메소드)를 호출해야합니다.

관련 문제