2013-07-24 1 views
0

내 응용 프로그램에서 암호를 한 번 암호화하고 도구를 실행할 횟수만큼 암호를 해독하는 개인 키를 사용하려고합니다.한 번 암호화하고 여러 번 해독하는 데 사용할 수있는 개인 키를 하드 코딩하는 방법은 무엇입니까?

  • 사용자가 도구를 사용하여 암호를 암호화합니다 : 같은

    응용 프로그램이 실행됩니다.

  • 그런 다음 사용자는 해당 암호를 특성 파일에 붙여 넣습니다.
  • 다음에 도구를 실행할 때 해당 암호를 읽고 암호 해독하여 로그인합니다.

여기서 나는 암호를 암호화 할 때 암호화 대상에만 다른 도구를 사용하는 것과 같은 문제에 직면하고 있습니다. 그래서 해독하려고 할 때 키는 생성 된 키와 다릅니다. 어떻게이 두 가지 도구와 개인 키를 공유 할 수 있습니다 ..

감사합니다 ..

+0

암호를 해독 할 수있는 방식으로 암호를 저장하는 것은 매우 위험합니다. 나는 그렇게 할 필요를 피하려고 노력할 것입니다. 그건 그렇고, * 공유 * 뭔가 * 개인 * 소리가 틀린, 그 신비한 "무언가"가 될 수 있습니다 :-) – dasblinkenlight

+0

@ dasblinkenlight 때로는 다른 서비스에 액세스하기 위해 암호가 필요합니다 ... –

+0

http : // stackoverflow .COM/질문/3188171는/자바 암호화 alternitive - 투 - 하드 코딩 키 위의 링크를 귀하의 답변에 대한 –

답변

0

감사합니다 새로운 데이터 암호화 처음 시도하는 중 ..

기본적으로 스크립트를 사용하여 실행되는 도구로 작업하고 있습니다. 이 코드는 아주 소수의 사용자 만 액세스 할 수있는 보안 서버에 보관됩니다. 사용자가 암호를 설정하지 않고 속성 파일에 암호를 유지하고 싶지 않은 것이 걱정입니다. 따라서 다른 사용자가 등록 정보 파일을 구성하려고 시도하면 암호를 알아낼 수 없어야합니다. 세 가지 다른 소스에 대해 세 가지 다른 로깅 자격 증명이있을 것입니다. 각 관리자는 동일한 파일에서 구성합니다.

하나의 솔루션을 발견했습니다.

http://www.code2learn.com/2011/06/encryption-and-decryption-of-data-using.html

내 문제에 가장 적합한 솔루션입니다 어느 ...

:

0

난 당신이 symetric 및 비대칭 암호화를 혼동 생각합니다. 대칭 암호화를 수행 할 때 동일한 키를 사용할 수 있습니다. 비대칭 암호화에는 두 가지 키가 있습니다. A 공개 키으로 암호를 암호화 할 수 있지만이 키를 사용하여 암호를 해독 할 수는 없습니다. 이는 개인 키에서만 가능합니다. 따라서 이러한 도구간에 키를 공유 할 필요가 없습니다. 이름에서 알 수 있듯이 개인 키는 결코 시스템을 떠나서는 안됩니다.

0

당신은

당신은 당신이 대응하는 공개 키 암호를 해독 할 필요가 무엇인가를 암호화하는 비밀 키를 사용하면 ... 여러 가지를 혼합.

이 작업을 실제로 수행하려면 공개 키의 경로를 속성 파일에도 넣을 수 있습니다.

당신이 설명한 것은 하나의 키만 사용하는 대칭 암호입니다. dasblinkenlight가 언급 한 바와 같이

또한,

내가 아주 오전, 귀하의 답변에 대한 여러분 모두 ... 서로 다른 응용 프로그램을 설계 할 수있는 경우 암호 해독 테스트 그래서 몇 가지 보안 문제를 산출

0

저는 여러분의 주요 관심사가 응용 프로그램간에 키를 공유하고 있다고 생각합니다.

내 의견으로는, 이것을하는 가장 좋은 방법은 Public-Private Keypair를 사용하는 것입니다. 공개 키를 배포하고 개인 키를 안전하게 유지할 수 있습니다.

암호를 생성하는 데 여러 개의 앱을 사용하는 경우 공개 키를 사용하여 암호화합니다. 하나의 앱에서 비밀번호를 생성하고 여러 앱에서 사용하는 경우 비공개 키로 암호화 할 수 있으며 모든 다른 앱은 번들 공개 키를 사용하여 비밀번호를 해독 할 수 있습니다.

포인트는 키 쌍 ​​배포를 파악한 후에 응용 프로그램 설계 방식에 따라 공개 또는 비공개로 암호화하거나 해독 할 수 있습니다.

키 쌍을 만들고 데이터를 암호화/해독하는 방법에 대한 자세한 내용은 시작 암호화 예제를 참조하십시오.