2013-09-27 2 views
1

좋아, 그래서 JDBC MySQL 병 파일을 사용하여 서버에있는 데이터베이스에 연결하는 자바 스윙 응용 프로그램을 만들었습니다. 진짜 문제는 없습니다. 모든 것이 잘 작동합니다. 그런 다음 누군가가 프로그램에 참여하고 소스 코드를 볼 수있는 기회가 있다고 생각하게되었습니다. 데이터베이스 정보 (URL, 사용자 이름, 암호 등)가있는 것 외에는 별다른 큰 문제가 없습니다. 누군가가 들어 와서 데이터베이스 데이터를 얻는 것만으로도 넓은 티켓이 될 것입니다.코드에 데이터베이스 비밀번호 저장

제 질문은 이것에 대한 일반적인 생각은 무엇입니까? 소스 코드에 누군가가 들어가서 정보를 얻을 수 있다는 것을 알고 있다면 어떻게 암호를 저장합니까?

+3

좋은 소식! 누군가 이미 Java 앱의 비밀번호를 안전하게 저장하는 방법에 대해 질문 했으므로 답변을 기다릴 필요가 없습니다. [보안 데이터베이스 연결은 일반적으로 JAR 파일에 어떻게 구현됩니까?] (http://stackoverflow.com/questions/3660154/how-are-secure-database-connections-usually-implemented-in-jar-files) – David

+0

귀하의 자격 증명을 암호화하십시오. 일반 텍스트보다는 안전합니다. [jasypt] (http://www.jasypt.org/)를 사용하십시오. – nachokk

+0

당신은 어딘가에 더 안전하게 어울립니다. – chrylis

답변

3
  • 한 가지 방법 : 그런 다음, 암호화 된 파일에 이러한 보안 정보를 저장 런타임에이 파일의 암호를 해독하고 데이터베이스를 열 수 있습니다.

  • 다른 접근 : 응용 프로그램이 자신의 웹 사이트에 연결하여 보안 정보를 가져 오게하십시오.

+0

나는 접근 방식 # 1을 좋아한다. 그것은 단지 1 개의 암호이기 때문에 단순 해 보인다. 접근법 # 2는 너무 많이 해결되지 않는 것 같습니다. 맞습니까? 나는 여전히 내 서버에 연결하기 위해 암호가 필요하며 이는 나쁘다. 또한 데이터베이스는 동일한 서버에서 호스팅됩니다. – LiverpoolFTW

+0

두 개의 매우 적절하고 안전한 솔루션에 대해 +1 –

+0

네, 맞습니다. # 2는 실제 솔루션이 아닙니다. 그러나 최대 보안을 얻으려면 두 가지 방법을 혼용 할 수 있습니다. (즉, 인증 된 액세스 권한을 가진 서버에 암호화 된 파일이 있음) –