Sample code for 30+ languages & platforms
Unicode C

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 Unicode C Downloads

Unicode C
#include <C_CkCrypt2W.h>

void ChilkatSample(void)
    {
    HCkCrypt2W crypt;
    const wchar_t *storedHash;
    const wchar_t *password;
    BOOL passwordValid;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    crypt = CkCrypt2W_Create();

    storedHash = L"$2a$10$H5kIVktMGzAPKGKNAe9DVu0iwEqfhv/o4MMJ/Dzw/MPy1leOE9NOK";
    password = L"mySecretPassword";

    passwordValid = CkCrypt2W_BCryptVerify(crypt,password,storedHash);
    if (passwordValid == TRUE) {
        wprintf(L"%s is valid.\n",password);
    }
    else {
        wprintf(L"%s is NOT valid.\n",password);
    }

    password = L"notAValidPassword";
    passwordValid = CkCrypt2W_BCryptVerify(crypt,password,storedHash);
    if (passwordValid == TRUE) {
        wprintf(L"%s is valid.\n",password);
    }
    else {
        wprintf(L"%s is NOT valid.\n",password);
    }

    // Output should be:

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


    CkCrypt2W_Dispose(crypt);

    }