Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkCrypt2.pb"

Procedure ChilkatExample()

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

    crypt.i = CkCrypt2::ckCreate()
    If crypt.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    storedHash.s = "$2a$10$H5kIVktMGzAPKGKNAe9DVu0iwEqfhv/o4MMJ/Dzw/MPy1leOE9NOK"
    password.s = "mySecretPassword"

    passwordValid.i = CkCrypt2::ckBCryptVerify(crypt,password,storedHash)
    If passwordValid = 1
        Debug password + " is valid."
    Else
        Debug password + " is NOT valid."
    EndIf

    password = "notAValidPassword"
    passwordValid = CkCrypt2::ckBCryptVerify(crypt,password,storedHash)
    If passwordValid = 1
        Debug password + " is valid."
    Else
        Debug password + " is NOT valid."
    EndIf

    ; Output should be:

    ; 	mySecretPassword is valid.
    ; 	notAValidPassword is NOT valid.


    CkCrypt2::ckDispose(crypt)


    ProcedureReturn
EndProcedure