Sample code for 30+ languages & platforms
Zig

AES Encryption ECB Mode with PKCS7 Padding

See more Encryption Examples

Duplicates the following C# code:
public static byte[] DecryptBySymmetricKey(string encryptedText, byte[] key)
  {
     string keyAsBase64 = Convert.ToBase64String(key);

     byte[] dataToDecrypt = Convert.FromBase64String(encryptedText);
     var keyBytes = key;
     AesManaged tdes = new AesManaged();
     tdes.KeySize = 256;
     tdes.BlockSize = 128;
     tdes.Key = keyBytes;
     tdes.Mode = CipherMode.ECB;
     tdes.Padding = PaddingMode.PKCS7;
     ICryptoTransform decrypt__1 = tdes.CreateDecryptor();
     byte[] deCipher = decrypt__1.TransformFinalBlock(dataToDecrypt, 0, dataToDecrypt.Length);
     tdes.Clear();
     string EK_result = Convert.ToBase64String(deCipher);
     return EK_result;
}

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();

    // In the C# code above that is to be duplicated here, use the base64 encoded key.
    const key_as_base64 = "...";
    const encrypted_bytes_as_base64 = "....";

    crypt.setKeyLength(256);
    crypt.setCryptAlgorithm("AES");
    crypt.setCipherMode("ecb");
    crypt.setPaddingScheme(0);
    crypt.setEncodedKey(key_as_base64, "base64");

    crypt.setEncodingMode("base64");

    // Pass the base64 representation of the encrypted data.
    // (The EncodingMode indicates you are passing base64.)
    const ek_result = try crypt.decryptStringENC(alloc, encrypted_bytes_as_base64);

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