深夜提醒

现在是深夜,建议您注意休息,不要熬夜哦~

🏮 🏮 🏮

新年快乐

祝君万事如意心想事成!

2024 桐庐半程马拉松
00:00:00
时间
0.00
距离(公里)
--:--
配速
--
步频
--
心率 (bpm)
--
配速
步频
|
share-image
ESC

又拍云的签名到底怎么计算的?

相信不少使用又拍云 sdk 上传文件到存储的人都碰到过一个问题,那就是又拍云上传要传的认证签名头,好复杂呀!各种拼接然后加上加密,到底怎么算呢?今天,我给大家捋一捋。

首先,请你仔细阅读一遍文档

我们需要知道的是,在你上传文件的请求头里,需要加上这么一个头信息

Authorization: UPYUN <Operator>:<Signature>

其中的 Authorization 是请求头,UPYUN 直接照写,operator 是操作员;然后 signature 是签名,主要是这个签名计算稍微复杂点。

按照官网的内容,我们把对应的参数拼接起来

代码

#!/usr/bin/env python
#-*-coding:utf-8-*-
from hashlib import sha1
import hashlib
import hmac
import base64


operator="operator123"
hash_md5 = hashlib.md5("password123")
password = hash_md5.hexdigest()#得到值是482c811da5d5b4bc6d497ffa98491e38

options = 'PUT&/upyun-temp/demo.jpg!awen)&Wed, 09 Nov 2016 14:26:58 GMT&7ac66c0f148de9519b8bd264312c4d64'
sign = base64.b64encode(hmac.new(password,options,sha1).digest())
print(sign)

最后的运行结果就和官网的例子中的结果一样啦!你所需要做的,就是把里面的参数替换成你自己的就可以了。

注意:REST API 签名有效期为 30 分钟;FORM API 回调通知签名有效期由用户自行确定,建议设置为 30 分钟。

说完了签名 那表单上传除了要计算签名还有个Policy,其实是一样的。都是把一些参数加进来,然后进行计算,最后得出一个结果,需要注意的是,在我的印象中,99%的人都会在这个地方遇到各种问题,然后调试的时候报400 或401错误,比如:

  • 参数少传或错传,比如本地路径写错了或服务名没写进去进行拼接。
  • 拼接错误,各种参数之间要用&连接,有的参数写到一块去了。
  • 算法用错了,导致计算记过不一样。
  • 一些参数写死了,比如 Date,这个最好是动态获取,传个变量吧,不要写死了。
  • 环境不一样,有的是本地调试 ok,换个环境就不行了,注意检查2台设备的时间是不是一致。
  • 把登录控制台的账号密码写成了操作员和操作员密码。
  • 另外有的人对“HMAC-SHA1 输出的必须是原生的二进制数据”不理解,不理解就看上面的代码吧!
  • 需要转换为 json 的地方没转换,需要 base64编码的地方没编码。

大概就上面这些,然后报错也可以看下文档

文章作者:阿文
文章链接: https://www.awen.me/post/42821.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客
本文于 2017-08-18 20:50 发布,已超过半年(3131天),请注意甄别内容是否已过期。

评论

0 条评论
😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️
您的评论由 AI 智能审核,一般1分钟内会展示,若不展示请确认你的评论是否符合社区和法律规范
加载中...

选择联系方式

留言反馈

😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️