宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動(dòng)態(tài)
精選推薦

七牛云存儲(chǔ)-URL安全的Base64編碼-域名綁定-七牛ETag算法介紹

管理 管理 編輯 刪除

附錄

URL安全的Base64編碼

URL安全的Base64編碼適用于以URL方式傳遞Base64編碼結(jié)果的場景。該編碼方式的基本過程是先將內(nèi)容以Base64格式編碼為字符串,然后檢查該結(jié)果字符串,將字符串中的加號+換成中劃線-,并且將斜杠/換成下劃線_,同時(shí)尾部保持填充等號=

詳細(xì)編碼規(guī)范請參見RFC4648標(biāo)準(zhǔn)中的相關(guān)描述。

域名綁定

每個(gè)空間都可以綁定一個(gè)到多個(gè)自定義域名,以便于更方便的訪問資源。

比如www.qiniu.com的所有靜態(tài)資源均存放于一個(gè)叫qiniu-resources的公開空間中。并將該空間綁定到一個(gè)二級域名i1.qiniu.com,那么如果要在一個(gè)HTML頁面中引用該空間的logo.png資源,大概的寫法如下:

c46dd202307191616297138.png

這樣既可以在一定程度上隱藏正在使用七牛云存儲(chǔ)的事實(shí),但更大的好處是如果需要從一個(gè)云存儲(chǔ)遷移到另一個(gè)云存儲(chǔ),只需要修改域名DNS的CNAME設(shè)置,而無需更新網(wǎng)頁源代碼。

七牛ETag算法

七牛的 hash/etag 算法是公開的。算法大體如下:

小于或等于4M的文件


1. 對文件內(nèi)容做sha1計(jì)算;

  +---------------+
  |     <=4MB     |
  +---------------+
   \      |      /
    \   sha1()  /
     \    |    /
      \   V   /
    +--+-----+
    |1B| 20B |              2. 在sha1值(20字節(jié))前拼上單個(gè)字節(jié),值為0x16;
    +--+-----+
     |  |
     |  \--- 文件內(nèi)容的sha1值 
     |
     \------ 固定為0x16

3. 對拼接好的21字節(jié)的二進(jìn)制數(shù)據(jù)做url_safe_base64計(jì)算,所得結(jié)果即為ETag值。

大于4M的文件


1. 對文件內(nèi)容按4M大小切塊;
2. 對每個(gè)塊做sha1計(jì)算;

         +----------+----------+-------
         |    4MB   |   4MB    | ...
         +----------+----------+-------
          \    |    |   |     /
           \ sha1() | sha1() /
            \  |    |   |   /
             \ V    |   V  /
              +-----+-----+-------
              | 20B | 20B | ...
              +-----+-----+-------
               \      |      /
                \   sha1()  /
                 \    |    /
                  \   V   /
                +--+-----+
                |1B| 20B |      3. 對所有的 sha1 值拼接后做二次 sha1,
                +--+-----+         然后在二次 sha1 值前拼上單個(gè)字節(jié),值為0x96;
                 |  |
                 |  \---- 二次sha1的值
                 \------- 固定為0x96

4. 對拼接好的21字節(jié)的二進(jìn)制數(shù)據(jù)做url_safe_base64計(jì)算,所得結(jié)果即為ETag值。

FAQ

  1. 為何需要公開 hash/etag 算法?這個(gè)和 “消重” 問題有關(guān),詳細(xì)見:如何避免用戶上傳相同的文件。
  2. 為何在 sha1 值前面加一個(gè)字節(jié)的標(biāo)記位(0x16或0x96)?

0x16 = 22,而 2^22 = 4M。所以前面的 0x16 其實(shí)是文件按 4M 分塊的意思。
0x96 = 0x80 | 0x16。其中的 0x80 表示這個(gè)文件是大文件(有多個(gè)分塊),hash 值也經(jīng)過了2重的 sha1 計(jì)算。

相關(guān)工具

qetag 是一個(gè)計(jì)算文件在七牛云存儲(chǔ)上的 hash 值(也是文件下載時(shí)的 etag 值)的實(shí)用程序。


請登錄后查看

CRMEB-慕白寒窗雪 最后編輯于2023-07-19 18:43:27

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點(diǎn)贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
3535
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動(dòng)態(tài) 精選推薦 首頁頭條 首頁動(dòng)態(tài) 首頁推薦
取 消 確 定
回復(fù)
回復(fù)
問題:
問題自動(dòng)獲取的帖子內(nèi)容,不準(zhǔn)確時(shí)需要手動(dòng)修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊

切換手機(jī)號登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服