JavaScript HSM API Dinamo
    Preparing search index...
    import { hsm } from "@dinamonetworks/hsm-dinamo";

    const hashExample = async () => {
    let conn;
    try {
    // Define os parâmetros de conexão com o HSM
    const options = {
    host: "127.0.0.1",
    authUsernamePassword: {
    username: "master",
    password: "12345678",
    },
    };

    // Estabelece conexão com o HSM
    conn = await hsm.connect(options);
    console.log("Connected to HSM successfully.");

    // Dados para processar
    const data = Buffer.from("Hello Dinamo HSM", "utf8");

    // 1. Hash simples (SHA-256)
    console.log("Generating SHA-256 hash...");
    const sha256Digest = await conn.cryptography.hash(
    hsm.enums.HASH_ALGORITHMS.ALG_SHA256,
    data
    );
    console.log("SHA-256 Digest (hex):", sha256Digest.toString("hex"));

    // 2. Hash com algoritmo SHA-512
    console.log("Generating SHA-512 hash...");
    const sha512Digest = await conn.cryptography.hash(
    hsm.enums.HASH_ALGORITHMS.ALG_SHA2_512,
    data
    );
    console.log("SHA-512 Digest (hex):", sha512Digest.toString("hex"));

    // Nota: Para HMAC ou CMAC, é necessário fornecer o nome de uma chave simétrica
    // compatível existente no HSM no terceiro parâmetro de hash().

    } catch (err) {
    console.error("Error during hash example:", err.message);
    } finally {
    if (conn) {
    await conn.disconnect();
    console.log("Disconnected from HSM.");
    }
    }
    };

    hashExample();