Моя цель состоит в том, чтобы хэшировать тело в SHA256
и затем кодировать его с помощью base64
. Я конвертирую python
код в TypeScript
.
На основании поиска в Google, как я понял, crypto
можно использовать против hashlib
и base64
. Здесь проблема в том, что когда я использую .createHmac
, тогда требуется secret
, когда в Python я могу напрямую работать с телом. Это еще один способ достичь python
результата в typeScript
?
ПРИМЕЧАНИЕ: это первый раз, когда я вижу код Python, поэтому, пожалуйста, исправьте меня, если я что-то здесь упустил.
Код Python:
import hashlib
import base64
body = "johnDoe"
abc = base64.b64encode(hashlib.sha256(body.encode('utf-8')).digest())
print(abc)
Выход:
b'RnuqbBqTNwQ7v3g3tKsVAi+NUALBCUeoRBEq6Yil6RA='
Это можно проверить здесь .
Код TypeScript: Использование createHmac
var crypto = require('crypto');
var secret = "PYPd1Hv4J6";
var body = "johnDoe";
var hmac = crypto.createHmac("sha256",secret);
var hmac_result = hmac.update(body).digest('base64');
console.log(hmac_result);
Выход:
DLZdA1/ULIIECiJ4t+HYDLE+FRPIfcFQNo7Uw/csopU=
Это можно проверить здесь .