Как сгенерировать Amazon Glacier SHA-256 Tree Hash для файла локально?

Чтобы проверить, правильно ли загружены мои файлы, существует ли инструмент для создания локального хеша Amazon Glacier Tree Hash SHA-256 для файлов?

4 ответа

Для этого у boto есть функция полезности.

Вот скрипт-обертка, чтобы превратить его в инструмент командной строки

#!/usr/bin/env python

import os
import sys
import argparse
import boto

from boto.glacier.utils import compute_hashes_from_fileobj

parser = argparse.ArgumentParser(description='compute amazon tree hashes of files')
parser.add_argument("--quiet", "-q", action='store_true')
parser.add_argument("filename", nargs='+')
args = parser.parse_args()

for filename in args.filename:
    with open(filename, 'r') as f:
        sha, tree = compute_hashes_from_fileobj(f)
        if args.quiet:
           print tree
        else:
            print filename + ":", tree

Сортировка, я сделал быстрый инструмент для Windows из собственного источника Amazons для вычисления хеша.

https://mega.co.nz/#!HBMQ0ZSL!l0p0AamSpoFxKwDtJU03_uTi9t9hJ-6EVURmOSXSP3Y

В документации Glacier приведен пример кода для вычисления хеша дерева SHA256.

Я создал образ Docker для запуска этого примера кода. Вы можете использовать его для вычисления хэша дерева SHA256 для нескольких файлов:

docker run -it --rm -v `pwd`:/app ggarnier/glacier-sha256-tree-hash:latest <file1> <file2> ...

Здесь есть реализация bash-скрипта с использованием openssl: https://github.com/numblr/glaciertools

Другие вопросы по тегам