Sample code for 30+ languages & platforms
Zig

RIPEMD Hash a String

See more Encryption Examples

Demonstrates how to RIPEMD hash a string using RIPEMD-128, RIPEMD-160, RIPEMD-256, and RIPEMD-320.

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 assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

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

    const content = "abcdefghijklmnopqrstuvwxyz";

    // The desired output is a hexidecimal string:
    crypt.setEncodingMode("hex");

    // Set the hash algorithm:
    crypt.setHashAlgorithm("ripemd128");

    var hash_str: [:0]const u8 = "";
    hash_str = try crypt.hashStringENC(alloc, content);

    std.debug.print("{s}\n", .{hash_str});

    // The output is:
    // FD2AA607F71DC8F510714922B371834E

    crypt.setHashAlgorithm("ripemd160");
    hash_str = try crypt.hashStringENC(alloc, content);
    std.debug.print("{s}\n", .{hash_str});

    // The output is:
    // F71C27109C692C1B56BBDCEB5B9D2865B3708DBC

    crypt.setHashAlgorithm("ripemd256");
    hash_str = try crypt.hashStringENC(alloc, content);
    std.debug.print("{s}\n", .{hash_str});

    // The output is:
    // 649D3034751EA216776BF9A18ACC81BC7896118A5197968782DD1FD97D8D5133

    crypt.setHashAlgorithm("ripemd320");
    hash_str = try crypt.hashStringENC(alloc, content);
    std.debug.print("{s}\n", .{hash_str});

    // The output is:
    // CABDB1810B92470A2093AA6BCE05952C28348CF43FF60841975166BB40ED234004B8824463E6B009
}