用Python中的RSA密钥签名字符串-我如何将使用SubtleCrypto的JavaScript代码翻译为Python



我正在尝试用Python中的RSA密钥签名字符串。我有工作的JavaScript代码做到这一点,但现在我需要使用Python- rsa在Python中复制它。

特别是,我需要处理这两个JavaScript调用:
const key = await crypto.subtle.importKey(
'raw',
bytesOfSecretKey,
{ name: 'HMAC', hash: 'SHA-256' },
false,
['sign']);

const mac = await crypto.subtle.sign('HMAC', key, bytesOfStringToSign));

其中bytesOfSecretKey只是一个以字节表示的密钥字符串,bytesOfStringToSign是我要签名的字符串。任何提示将不胜感激!

正如评论者指出的那样,JavaScript代码使用HMAC来生成签名。在python中,生成十六进制签名的等效代码为:

import hmac
import hashlib
key = 'SECRET_KEY_STRING'
strToSign = 'STRING_TO_SIGN'
signature = hmac.new(key.encode("utf-8"),
strToSign.encode("utf-8"), hashlib.sha256).hexdigest()

最新更新