2011-05-16 6 views
0

단방향 해시 알고리즘을 사용하여 데이터베이스에 암호를 저장하는 방법을 알고 있습니다. 하지만 내 경우에는 서비스 (Dropbox API)에 로그인하기 위해 일반 텍스트로 암호가 필요합니다.코드에 암호 문자열 저장

그래서 Dropbox (예 : 클라이언트)에 로그인 할 때 항상 동일한 사용자 이름/암호를 사용하는 응용 프로그램을 만들고 싶다면 Java 코드에 사용자 암호를 저장하면 어떻게 될까요? HexViewer를 사용하여 읽으셨습니까?

문자열을 암호화하고 해독하는 것이어야하지만 한 대의 컴퓨터에만 바인드 할 수는 없습니다.

+0

암호화 할 수 없습니다. ** ** ** 암호화 키를 저장 하시겠습니까? 유일한 옵션은 dropbox가 해시를 직접 전달할 수있는 경우 해시하는 것입니다 (일반 텍스트 비밀번호 대신). –

+1

@Vladislav Dropbox가 해시를 직접 전달할 수 있으면 사용자가 암호와 같은 방식으로 해시를 사용할 수 있습니까? – Chip

+0

흠 ... 나는 여기서 곧장 생각하지는 않아. 미안해. 사용자에게 아무 것도 묻지 않으면 보안 될 수 없습니다. 키 체인에 암호를 저장할 수 있지만 키 체인의 암호를 요청해야합니다. 나는 당신이 그것을 어떤 윈도우 스토어에 저장할 수 있다고 생각하지만, 사용자는 여전히 (키를 제공하는) 로그인 할 필요가있다. –

답변

4

음, DES 또는 AES로 암호를 암호화하고, 항아리에 키를 보관하고 필요할 때만 암호 해독하십시오. 그러나 누군가가 필요하면 그는 쉽게 이것을 뒤집어 로그인과 암호를 추출합니다.

+0

좋아요, 내가 기계 바인딩 된 암호화를 원한다면? 자바는 그런 일을하기위한 몇 가지 표준 클래스를 제공합니까? –

+0

@ 루카스,이 경우에는 PC 또는 HDD의 MAC 주소 또는 마더 보드 일련 번호를 사용하십시오. http://download.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#getHardwareAddress%28%29 http://www.rgagnon.com/javadetails/java-0580.html –

+0

THX , 나는 이것을 반항적으로 보게 될 것이다. –

1

프로그램의 일반 텍스트로 필요한 경우 확실하지 않습니다. 무엇을 하든지 프로그램은 분석, 디 컴파일, "손상된"VM에서 실행될 수 있습니다.