FileShare.None
을 사용하여 개인 사용자의 데이터가 들어있는 파일을 잠그는 응용 프로그램이 있습니다. 문제는 다른 프로세스 나 사용자가 응용 프로그램을 닫으면 파일이 잠금 해제되고 모든 사람이 저장된 암호에 액세스 할 수 있다는 것입니다. 파일은 암호화되어 있지만 불행히도 비밀 번호를 알아내는 것은 대단히 쉽습니다.응용 프로그램이 닫히는 것을 막으십시오.
내 질문은 : 응용 프로그램이 사용자 또는 작업 관리자에 의해 닫히지 않도록하는 방법이 있습니까? 예를 들어, 바이러스 백신처럼 : ESET NOD32을 닫으려고하면 중지 할 수 없습니다. 그것은 나에게 오류를 제공,
Dim Stream As New Stream = FileOpen("MyApplicationPath", FileAccess.ReadWrite, FileShare.None)
을 :하지만
내 응용 프로그램의 폼로드 이벤트에이 코드를 삽입하려고했습니다 "파일이 이미 사용 중입니다." 컴퓨터가 실행 파일에 액세스해야하기 때문에이 오류가 발생한다고 상상할 수 있습니다.
다른 방법이 있습니까?
감사합니다.
편집 : 당신의 기사에서, 말한다 : 앤드류 모튼으로
"[...] 확인하려면 암호가 올 경우는 일반적으로 사용자에 저장되도록, 우리는 소금이 필요합니다 계정 데이터베이스를 해시와 함께 또는 해시 문자열 자체의 일부로 포함 할 수 있습니다. " 이것은 소금을 어딘가에 저장해야한다는 것을 의미합니다. 어디에서 저장할 수 있습니까? 그리고 어떻게?
암호가 "hello"이고 소금이 "gfogkdfn"인 경우 "gfogkdfn"을 어딘가에 저장해야합니다. 어디에서나 저장하고 쉽게 찾을 수 있고 시스템에 금이 갈 것입니다 ... 소금도 암호화하려면 "정적"암호화 키가 있어야합니다. 너무 쉽게 분해 할 수 있습니다 (그냥 리버스 엔지니어링을 수행하십시오. 내 프로그램 또는 모르는 다른 방법).
나는이 방법의 문제라고 생각한다. 가능한 해결책이 있습니까? 감사
이것은 XY 문제 (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)처럼 들립니다. 진짜 질문은 "이 응용 프로그램에서 사용자 데이터를 어떻게 보호해야합니까?"라고 생각해야합니다. – phoebus
글쎄, 그렇지 않아. 내 시나리오를 더 잘 이해할 수 있도록 절차를 제안했습니다. 나는 다른 사람들이 나의 필요에 맞는 다른 해결책을 갖고 있는지 물어 보았다. 어쨌든 고마워. -_FWite_ – PWhite
내 응용 프로그램에서 사용자 데이터를 보호하는 또 다른 방법은 좋은 질문입니다. 이 작업을 수행하는 다른 방법이 있다면 알려주십시오! – PWhite