package safepass

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module BcryptSource

Module for safe salting and hashing of passwords using the Bcrypt algorithm.

Exceptions

Sourceexception Invalid_count of int

The provided count is invalid. The count must be an integer between 4 and 31, inclusive.

Sourceexception Invalid_seed of string

The given string seed cannot be used as seed. Please provide a string at least 16 bytes long.

Sourceexception Urandom_error of exn

An exception occurred obtaining random seed from /dev/urandom.

Sourceexception Gensalt_error

An exception occurred in backend's _crypt_gensalt_blowfish_rn function.

Sourceexception Bcrypt_error

An exception ocurred in backend's _crypt_blowfish_rn function.

Type definitions

Sourcetype hash

Abstract type holding a password in salted and hashed form. Use function hash to generate a hash.

Sourcetype variant =
  1. | A
  2. | Y
  3. | B

Supported variants of the Bcrypt algorithm.

Public functions and values

Sourceval hash : ?count:int -> ?variant:variant -> ?seed:string -> string -> hash

Call hash ?count ?variant ?seed password to hash the given password string. The password is automatically salted before hashing. If seed is not given, the salting procedure automatically fetches a seed from /dev/urandom. If given, seed must be a string at least 16 bytes long. The count parameter is the log2 number of Blowfish iterations to use in the hashing procedure. Its default value is 6, and any integer between 4 and 31 (inclusive) may be used. Finally, variant picks which of the Bcrypt variants to use (defaults to Y).

Sourceval verify : string -> hash -> bool

Call verify password hash to verify if the given password matches the previously hashed password.

Sourceval hash_of_string : string -> hash

Convert string to hash

Sourceval string_of_hash : hash -> string

Convert hash to string

OCaml

Innovation. Community. Security.