2017-04-01 6 views
0

안녕하세요 저는 도움을 찾고 있습니다. 따라서 일부 코드는이 코드를 개인 용도로 사용하는 로그인 시스템으로 사용하게 될 것입니다. 내가 그것을 얻을 수 있도록 사용자 이름이 올바른지 및 암호를 확인할 수 있도록 한 줄만 확인하려고합니다. 내가 어떻게 할까? 당신은 내가 추측 한 후 안전하지 않은 방법으로 그 일을 주장하는 경우텍스트 파일에서 한 줄만 테스트하도록 코드를 만들 수 있습니까?

user = input("please Enter your full name: ") 
if os.path.isfile(user + ".txt"): 
    with open(user + ".txt", "r") 

     print("------------------------") 
     Username = input("|Username: ") 
     password = getpass.getpass("|Password: ") 
     print("------------------------") 

답변

0

좋아, 당신은 거기에 일반 텍스트 사용자 이름과 암호 단지 파일이 있습니다. 아마 당신은 파이썬에 대해 알고 있기 때문에 안전하지 않은 방법이 다소 받아 들여질 수 있음을 이해합니다 : P. 아래 예,

보쉬

비밀번호

나는 당신이 할 권장하지 않으면

(위 그림과 같이 파일에 그들이 연속 라인에있을 것입니다, 라인 사이에 틈이 없을 것) 이것은 아래의 코드 섹션이 어떻게 될지 예상하는 방법입니다.

submittedUsername = input("Please enter username: ") 
submittedPassword = input("Please enter password: ") 
credentialsFile = open("credentials.txt", "r") 
credentials = credentialsFile.readlines() 
username = credentials[0].rstrip("\n\r") 
password = credentials[1].rstrip("\n\r") 
if submittedUsername == username: 
    if submittedPassword == password: 
     print("Login verified!") 
     #both username and password verified here, do what you want 
    else: 
     #password incorrect 
     print("Login invalid") 
else: 
    #username incorrect but whether you want to specify what is wrong is up to you 
    print("Login invalid") 

설명 할 부분이 있으면 질문하십시오. 희망이 도움이됩니다.

+0

도움 주셔서 대단히 감사합니다. 나는 이것이 안전하지 않다는 것을 알고 있으며, 어디서든지 나를 연결 시켜서 자격 증명이 숨겨진 안전한 버전을 어떻게 만들 수 있는지 설명 할 수있다. –

+0

나의 기쁨. 네, 그렇지만 두려워 할 필요는 없습니까? 원한다면 SHA-512를 hashlib과 함께 사용하여 암호 해시를 살펴볼 것입니다. http://pythoncentral.io/hashing-strings-with-python/ 여기서 SHA 512를 살펴 보겠다. 다른 것들 중 상당수는 더 이상 보안이 보장되지 않는다. 행운을 빕니다. :) P.S, 답변을 upvote하고 받아 들일 수있는 것으로 표시하십시오. – BoshJailey