我的目标是对正文进行SHA256
哈希处理,然后使用base64
进行编码。我正在将Python
代码转换为TypeScript
。
根据谷歌搜索,我所了解的是,可以使用crypto
来对抗hashlib
和base64
。这里的挑战是,当我使用.createHmac
时,它需要secret
,而在python中,我可以直接处理正文。是否有另一种方法可以在TypeScript
中实现与Python
相同的结果呢?
注意:这是我第一次看到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=
这可以在这里进行验证。