我的目的是签名结果和服务器结果一致 我听说签名可能加随机数,每次结果都不一样,但实际中,我先使用了 cryptography 库
signature = privateKey.sign(data, padding.PKCS1v15(), hashes.SHA256())
每次结果都一致,且与服务器结果一致 , 我想简化 import ,都使用 Crypto 或 cryptodome ,使用 cryptdome 的代码
dataHash = SHA256.new(data)
signature = PKCS1_v1_5.new(privateKey).sign(dataHash)
结果每次都不一样,应该是由随机数的参与
我想问下 Crypto 或 cryptodome 等其他库能否有和 cryptography 一样每次生成不变签名的函数实现方法?谢谢
1
GiggleSmile 66 天前
RFC8017 中 pkcs1.5 签名方案,没有使用随机数,即相同数据,签名值相同。pycryptodome 库中的 pkcs1.5 的签名算法,源码实现与 rfc 规定一致,我跑几遍,签名值均未变化。也就是说,你自己写的代码有问题。单独调没任何问题,而且使用 cryptography 库签出来的值可以与 cryptodome 库对的上。
|