Zig
Zig
Example: Crypt2.GenRandomBytesENC method
Shows how to use the GenRandomBytesENC method to generate a specified number of random bytes and return them as a binary encoded string, such as in base64 or hex format.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
const crypt = try chilkat.Crypt2.init();
defer crypt.deinit();
// Example of a some of the binary encodings supported by Chilkat.
// Internally uses the Fortuna cryptographically secure random number generation algorithm
// auto-seeded from a secure source of entropy that depends on the OS.
crypt.setEncodingMode("hex");
var s: [:0]const u8 = try crypt.genRandomBytesENC(alloc, 8);
std.debug.print("Uppercase Hex: {s}\n", .{s});
crypt.setEncodingMode("hex_lower");
s = try crypt.genRandomBytesENC(alloc, 8);
std.debug.print("Lowercase Hex: {s}\n", .{s});
crypt.setEncodingMode("base64");
s = try crypt.genRandomBytesENC(alloc, 8);
std.debug.print("Base64: {s}\n", .{s});
crypt.setEncodingMode("base64url");
s = try crypt.genRandomBytesENC(alloc, 8);
std.debug.print("Base64Url: {s}\n", .{s});
crypt.setEncodingMode("base58");
s = try crypt.genRandomBytesENC(alloc, 8);
std.debug.print("Base58: {s}\n", .{s});
crypt.setEncodingMode("base32");
s = try crypt.genRandomBytesENC(alloc, 8);
std.debug.print("Base32: {s}\n", .{s});
crypt.setEncodingMode("decList");
s = try crypt.genRandomBytesENC(alloc, 8);
std.debug.print("Decimal List: {s}\n", .{s});
// Sample Output:
// Uppercase Hex: 1BA0E87915C3B429
// Lowercase Hex: 1e1638a1c7996c58
// Base64: 1lV0I/su5lg=
// Base64Url: Zq7DU0nukLk
// Base58: foUVWUjAT6e
// Base32: LHV5RV4HRCLW2===
// Decimal List: 168,55,214,82,93,154,191,164
}