Как рассчитать заголовок md5-контента в оболочке unix? - PullRequest
0 голосов
/ 02 мая 2018

Я ищу команду (и) unix для вычисления заголовка md5-контента, который будет использоваться с IBM Cloud Object Storage API для удаления нескольких объектов. Я пробовал echo “request body….” | md5 | base64, однако ответ API - `

Указанный вами Content-MD5 был недействительным.

Curl CMD:

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...'

Ответ на ошибку:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>InvalidDigest</Code><Message>The Content-MD5 you specified was an invalid.</Message><Resource>/ghhsa-bucket-etl-dev/</Resource><RequestId>aed25243-22a1-477d-9ab8-b87780625a61</RequestId><httpStatusCode>400</httpStatusCode></Error>

Цените любые указатели на это.

1 Ответ

0 голосов
/ 02 мая 2018

Встроенный 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

Это возвращает /Gx4aOgplRXMRI2qXXqXiQ==, что мы и ожидали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...