Rock Paper Scissors HMAC(SHA-3 или SHA-2) шифрование
У меня есть игра (Rock Paper Scissors). Как зашифровать ответ компьютера с помощью HMAC (SHA-2 или SHA-3) и в конце игры сравнить с ответом пользователя?
import random
import hmac
import hashlib
import base64
options = {"r": "rock", "p": "paper", "s": "scissors"}
while True:
user = input('Choose r for rock, p for paper, s for scissors or q to quit: ')
user = user.lower()
if user == 'q':
break
if user not in options.keys():
continue
choice = random.choice(list(options.keys()))
print('Computer picked:', options[choice])
if choice == user:
print('You tie against the computer\n')
elif (user, choice) in (("r", "s"), ("p", "r"), ("s", "p")):
print('You win against the computer\n')
else:
print('You lose against the computer\n')
ПОМОГИТЕ, ПОЖАЛУЙСТА
0 ответов
Неясно, какой алгоритм вы на самом деле хотите использовать, так как SHA-2 и SHA-3 состоят из 5 алгоритмов каждый (если я правильно помню), но все они довольно тривиальны:
def hash(data):
return hashlib.sha1(data).digest()
Другие водоросли:
def hash(data):
return hashlib.sha224(data).digest()
def hash(data):
return hashlib.sha256(data).digest()
def hash(data):
return hashlib.sha384(data).digest()
def hash(data):
return hashlib.sha512(data).digest()
И теперь я понимаю, сколько лет этому ответу. Ну, я надеюсь, это кому-нибудь поможет...