2012-05-14 2 views
0

좋아, cmd에서 특정 옵션으로 다시 실행될 때까지 프로그램에서 사용되는 사용자 입력을받는 데 문제가 있습니다.Python 2.7 런타임에서 변수를 저장하는 방법

사용자가 cmd에서 인수 GUI를 사용하여 프로그램을 실행한다고 가정하면 이메일을 요청하고 사용자가 제출을 누르고 입력란의 텍스트가 변수에 저장되는 Tk 창이 열립니다 해당 런타임에 사용할 수 있지만 다음 실행에서는 매개 변수없이 말하면 메모리에서 지워진 이후에는 변수에 할당 된 것이 없습니다.

사용자가 새 이메일을받을 때까지 사용자가 프로그램을 사용할 것이므로 런타임 후에 변수를 어떻게 든 저장할 수 있다면 이상적이라고 생각합니다. 그런 다음 옵션 GUI로 다시 실행합니다. 새 것을 지정하십시오. 지금은 그것을하기 위해 .txt를 사용하고 있지만, 암호화되지 않은 상태에서 base64로 전자 메일/패스를 암호화 한 후에도 조금 안전하지 않은 것으로 나타났습니다. 사용자가 파일을 삭제하지 말고 .txt 파일을 올바른 디렉토리로 옮기는 것을 잊을 수 있기 때문에 더 안전하고 휴대하기 쉬운 방법으로 어떻게 수행 할 수 있습니까?

답변

0

우선 base64는 "암호화"가 아닙니다. 이것은 단지 인코딩 형식 일 뿐이며, base64에 저장하는 것은 읽지 못하게합니다.

귀하의 경우에 가장 적합한 해결책은 시스템 수준의 "키 체인"을 사용하는 것입니다. 그렇지 않으면 필요할 때마다 암호를 묻는 것이 좋지만 당연히 성가신 일이 될 수 있습니다.

+0

글쎄 그것은 시작시에, 그리고 이산 적으로 실행되도록 의도 되었기 때문에 매번 시작될 때마다 cmd가 나타나면 완전히 그 지점을 망칠 것입니다. XOR이 암호화에 좋을까요? – Legitimate

+0

아니요, XOR은 신뢰할 수있는 암호화 방법으로 간주되지 않습니다. 어쨌든 암호를 배타적으로 XOR 할 필요가 있으며 다음에 사용자가 암호를 사용하려고 할 때 물어볼 필요가 있습니다. 즉 ... 또 다른 암호입니다. 보시다시피, 문자열을 암호화하고 추가 정보없이 원래 문자열을 검색 할 수있는 유일한 방법은 없습니다. – ubik

+0

좋아요, 그렇다면 암호를 암호화되거나 저장하지 않고 과거 런타임에 저장할 수있는 방법이 있습니다. – Legitimate