Zig
Zig
ARC4 PRNG (Pseudo Random Number Generator)
See more Encryption Examples
Uses the ARC4 stream encryption algorithm as a pseudo random number generator.Chilkat Zig Downloads
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();
// Set the encryption algorithm to ARC4:
crypt.setCryptAlgorithm("arc4");
// We want the encrypted output to be a hex-encoded string.
crypt.setEncodingMode("hex");
const key = "000102030405060708090A0B0C0D0E0F";
var data: [:0]const u8 = "12345678";
// Key length is 128 bits in this example.
crypt.setKeyLength(128);
crypt.setEncodedKey(key, "hex");
// Generate 16 "random" 8-byte blocks, encoded as hex strings.
// This example will generate the identical output each time
// it is run.
var cipher_hex: [:0]const u8 = "";
var i: i32 = 0;
i = 0;
while (i <= 15) : (i += 1) {
cipher_hex = try crypt.encryptStringENC(alloc, data);
std.debug.print("{s}\n", .{data});
std.debug.print("{s}\n", .{cipher_hex});
data = cipher_hex;
}
}