from hashlib import sha256 import localtoken ''' Quando acessado usa o mesmo algoritmo gerador de senhas anterior. Mas em instância separada. A lista de senha gerada será a mesma nas duas partes, apesar de estarem em aplicativos separados e sem comunicação. Verifica o usuário e se senha digitada esta na lista gerada e não foi usada e nem invalidada. nesta caso apresenta “Chave válida”. Atenção: As senhas devem ter validade de no máximo um minuto e só podem ser usadas uma única vez. Senhas são geradas a partir de outras senhas, e se for usada uma chave todas as chaves geradas pela mesma devem ser invalidadas. Se o cliente digitar uma senha válida o servidor aceita, caso contrario retorna mensagem de erro. ''' SALT = '' PASSWORD = '' def main(): print('Servidor!') SALT = sha256(input('Digite o salt: ').encode('utf-8')).hexdigest() PASSWORD = sha256(input('Digite a senha: ').encode('utf-8')).hexdigest() while True: token = input('Digite o token: ') if localtoken.generate_token(PASSWORD, SALT)[:8] == token[:8]: print('Chave válida!') else: print('Chave inválida!') if __name__ == '__main__': main()