Sample code for 30+ languages & platforms
Zig

Compute Glacier SHA256 Tree Hash of a File

See more Amazon Glacier Examples

Computes the Amazon Glacier SHA256 tree hash for a file.

Note: This example requires Chilkat v9.5.0.78 or greater.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const crypt = try chilkat.Crypt2.init();
    defer crypt.deinit();

    // For more information about Amazon Glacier tree hashes, see Computing Glacier Checksums
    // Chilkat added the "sha256-tree-hash" algorithm in v9.5.0.78 to make it easy to compute the Glacier tree hash checksum
    // of a file or from bytes in memory.
    crypt.setHashAlgorithm("sha256-tree-hash");

    // Return the hash in lowercase hexidecimal format.
    crypt.setEncodingMode("hexlower");

    const tree_hash_hex = try crypt.hashFileENC(alloc, "qa_data/jpg/penguins.jpg");
    std.debug.print("SHA256 tree hash = {s}\n", .{tree_hash_hex});
}