Я не могу воспроизвести вашу проблему. Следующие ключи соответствуют
В R:
library(openssl)
sha256("test@gmail.com")
#[1] "87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674"
В Python3:
import hashlib
print(hashlib.sha256(b"test@gmail.com").hexdigest())
#87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
Обновление в ответ на ваш комментарий
TheПервое, на что нужно обратить внимание, это то, что в R sha256
с аргументом, отличным от NULL
key
, будет вычислен код аутентификации сообщений на основе хеша (HMAC) . Начиная с ?sha256
:
Все хеш-функции либо вычисляют хеш-дайджест для «ключа == NULL», либо HMAC (хэш-код аутентификации сообщения), когда «ключом» не является «NULL».
Поэтому, если вы хотите использовать ключ, вам нужно сравнить полученный HMAC в R с HMAC на основе SHA2556 в Python.
В R:
library(openssl)
sha256("test@gmail.com", key = "111")
#[1] "172f052058445afd9fe3afce05bfec573b5bb4c659bfd4cfc69a59d1597a0031"
В Python 3:
import hmac
import hashlib
print(hmac.new(b"111", b"test@gmail.com", hashlib.sha256).hexdigest())
#172f052058445afd9fe3afce05bfec573b5bb4c659bfd4cfc69a59d1597a0031