System.Security.Cryptography.PasswordDeriveBytes 2

PasswordDeriveBytes of C# to Java (2)

PasswordDeriveBytes from C# to Java (1) 에서 계속... 2016. 04.18 업데이트) 아래 소스를 정리한 GitHub 저장소를 만들었습니다.C#에 있는 PasswordDeriveBytes 클래스를 Java 로 구현해야 했던 나는 해당 클래스에 버그가 있다는 것까지 확인했다. 하지만, 이 버그에 대해서 어느 곳에서도 설명하지 않아서 결국 내가 실험을 통해 찾아야 했다.그리고 한참 실험을 해서 알아낸 내용은 처음 호출한 GetBytes 메소드에 전달한 값에 따라 두 번째 호출한 GetBytes 메소드의 동작이 달라진다는 것이다. 그러므로 다음과 같이 첫 번째 GetBytes의 전달인자를 (A)라고 놓았을 때 두 번째 GetBytes의 반환값을 알아낼 수 있다. 첫 번째 Ge..

Java 2014.02.08

PasswordDeriveBytes of C# to Java (1)

C#에 있는 System.Security.Cryptography.PasswordDeriveBytes 클래스를 자바에서 구현해야 하는 일이 생겼다. 고생은 그렇게 시작되었다.MSDN에 있는 설명을 보면 PBKDF1 알고리즘의 확장을 사용하여 암호에서 키를 파생시킵니다.라고 되어 있다.그럼 PBKDF1이 뭔지부터 알아보자. PBKDF1은 여기의 설명을 직역해 보면 암호화에서 사용할 키를 만들기 위해서 쓰는 해시 함수 적용?이라고 한다. 무슨 소리냐면 적당한 문자열 비밀번호를 넣으면 해시 함수를 돌려서 얻은 값을 돌려주고 그 돌려받은 값으로 암호화할 때 비밀키로 쓰라는 거다.위에 살짝 걸어둔 링크에서 시키는대로 구현을 해도 동작은 할 테지만 귀찮아서 누가 자바로 만들어 놓은게 없나 찾아봤다. 상용 라이브러리에..

Java 2014.01.17