Sample code for 30+ languages & platforms
Zig

BCrypt Verify a Password (Check if Password is Correct)

See more Encryption Examples

A system that uses BCrypt for storing passwords would not store the actual password, but would instead store the bcrypt hash of the password. When a user presents the password, such as for login, call BCryptVerify to verify the password against the stored bcrypt hash.

Note: This example requires Chilkat v9.5.0.65 or greater.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main() !void {
    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const crypt = try chilkat.Crypt2.init();
    defer crypt.deinit();

    const stored_hash = "$2a$10$H5kIVktMGzAPKGKNAe9DVu0iwEqfhv/o4MMJ/Dzw/MPy1leOE9NOK";
    var password: [:0]const u8 = "mySecretPassword";

    if (crypt.bCryptVerify(password, stored_hash)) {
        std.debug.print("{s} is valid.\n", .{password});
    } else |_| {
        std.debug.print("{s} is NOT valid.\n", .{password});
    }

    password = "notAValidPassword";
    if (crypt.bCryptVerify(password, stored_hash)) {
        std.debug.print("{s} is valid.\n", .{password});
    } else |_| {
        std.debug.print("{s} is NOT valid.\n", .{password});
    }

    // Output should be:

    //     mySecretPassword is valid.
    //     notAValidPassword is NOT valid.
}