txjy 发表于 2023-6-22 16:43:57

openssl取sha256和php取sha256所得到的值不一样

如题:
POST
/

content-type:application/json; charset=utf-8
host:cvm.tencentcloudapi.com
x-tc-action:describeinstances

content-type;host;x-tc-action
35e9c5b0e3ae67532d3c9f17ead6c90222632e5b1ff7f6e89887f1398934f064以上文本使用PHP取sha256得到的值是:7019a55be8395899b900fb5564e4200d984910f34794a27cb3fb7d10ff6a1e84
使用火山openssl取sha256得到的值是:5c55bcbea70db8a42d4e60533461fbc2a79bea939589982bf84b4055d6627804
这是腾讯DNSPod签名算法的第二步,PHP取sha256得到的那个值才是需要的值,请问火山要怎么搞才能得到想要的值?

附腾讯DNSPod签名算法网址:https://cloud.tencent.com/document/api/1427/56189

txjy 发表于 2023-6-22 16:57:09


如上图,取sha256的结果不是想要的值。

创世魂 发表于 2023-6-23 09:29:45

仔细看文档吧,拼接字符串是 \n   TX的v3签名我写过。可以看火山视窗例程库中的, TX云服务器案例

txjy 发表于 2023-6-23 13:35:16

创世魂 发表于 2023-6-23 09:29
仔细看文档吧,拼接字符串是 \n   TX的v3签名我写过。可以看火山视窗例程库中的, TX云服务器案例 ...

TX云服务器案例是V1签名的,和V3完全不一样;
还是仔细研究了文档和火山的区别,确认是因为换行符的问题导致结果不一致,火山默认的换行符是【\r\n】,
签名V3的链接换行符是【\n】,我这边把火山所有的换行符替换成【\n】验证结果就是一致的了。
页: [1]
查看完整版本: openssl取sha256和php取sha256所得到的值不一样