seg/trabalho2/server.py

34 lines
1.2 KiB
Python

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()