Назад | Перейти на главную страницу

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

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

бото для этого есть служебная функция.

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

#!/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

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

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

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

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

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

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