Hash

The Hash: module provides hashing and Base64 encoding. All methods are ByRef. Implementations are self-contained — no external library required.


Call Effect
Hash:MD5(str, outVar) MD5 digest → 32-char lowercase hex → outVar
Hash:SHA256(str, outVar) SHA-256 digest → 64-char lowercase hex → outVar
Hash:Base64Encode(str, outVar) Base64-encode string → outVar
Hash:Base64Decode(str, outVar) Base64-decode string → outVar

Hash:MD5 and Hash:SHA256 are not cryptographically secure for new systems — use them for checksums and compatibility only.

Var:String h;
Hash:MD5("hello", h);
Konsol:Print(h);        // 5d41402abc4b2a76b9719d911017c592

Hash:SHA256("hello", h);
Konsol:Print(h);        // 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Var:String enc;
Hash:Base64Encode("hello world", enc);
Konsol:Print(enc);      // aGVsbG8gd29ybGQ=

Var:String dec;
Hash:Base64Decode(enc, dec);
Konsol:Print(dec);      // hello world

Examples

// 36_hash.ks — Hash module (MD5, SHA256, Base64)

Var:String h;

Konsol:Print("=== MD5 ===");
Hash:MD5("", h);
Konsol:Print(h);    // d41d8cd98f00b204e9800998ecf8427e

Hash:MD5("hello", h);
Konsol:Print(h);    // 5d41402abc4b2a76b9719d911017c592

Hash:MD5("The quick brown fox jumps over the lazy dog", h);
Konsol:Print(h);    // 9e107d9d372bb6826bd81d3542a419d6

Konsol:Print("=== SHA256 ===");
Hash:SHA256("", h);
Konsol:Print(h);    // e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Hash:SHA256("hello", h);
Konsol:Print(h);    // 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Hash:SHA256("The quick brown fox jumps over the lazy dog", h);
Konsol:Print(h);    // d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

Konsol:Print("=== Base64Encode ===");
Hash:Base64Encode("hello", h);
Konsol:Print(h);    // aGVsbG8=

Hash:Base64Encode("minks", h);
Konsol:Print(h);    // bWlua3M=

Hash:Base64Encode("Man", h);
Konsol:Print(h);    // TWFu

Konsol:Print("=== Base64Decode ===");
Hash:Base64Decode("aGVsbG8=", h);
Konsol:Print(h);    // hello

Hash:Base64Decode("bWlua3M=", h);
Konsol:Print(h);    // minks

Hash:Base64Decode("TWFu", h);
Konsol:Print(h);    // Man

Konsol:Print("=== round-trip ===");
Var:String encoded;
Hash:Base64Encode("KonsolScript 2025", encoded);
Hash:Base64Decode(encoded, h);
Konsol:Print(h);    // KonsolScript 2025

Konsol:Print("done");