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

И теперь я понимаю, сколько лет этому ответу. Ну, я надеюсь, это кому-нибудь поможет...

Другие вопросы по тегам