如何在unix shell中计算md5-content头?

时间:2018-05-02 17:52:11

标签: object-storage ibm-cloud-storage

我正在寻找unix命令来计算与IBM Cloud Object Storage API一起用于删除多个对象的md5-content头。我尝试{{ totals() }} ,但API响应是 -

  

您指定的Content-MD5无效。

Curl CMD:

echo “request body….” | md5 | base64

错误回复:

curl -H "Content-Type: text/plain;charset=utf-8" -H "Content-MD5: 75ff06f81643655397a5911ddc195ce8" -H "Authorization: $AuthToken"  "https://<cos-endpoint-name>/<bucket-name>?delete" -d 'xml body...'

感谢关于此的任何指示。

1 个答案:

答案 0 :(得分:1)

$t1=explode(':',$expected); $t2=explode(':',$actual); $d=60*($t1[0]-$t2[0])+t1[1]-t2[1]; $result=str_pad(floor($d/60),2,'0',STR_PAD_LEFT).':'.str_pad($d%60,2,'0',STR_PAD_LEFT); 内置有点弱,如果可能,使用md5进行加密会更直接。使用文档中的示例:

openssl

这会返回echo -n '<?xml version="1.0" encoding="UTF-8"?><Delete><Object><Key>pasture/cow-one</Key></Object><Object><Key>pasture/cow-two</Key></Object></Delete>' | openssl dgst -md5 -binary | openssl enc -base64 这就是我们所期望的。