package crypt

  1. Overview
  2. Docs
A tiny binding for the Unix crypt function

Install

dune-project
 Dependency

Authors

Maintainers

Sources

2.1.tar.gz
md5=b286d5505f1acd863823015d19e1bfcb
sha512=5bf66e8c92cf83c488ee80879eee04588185c078f36c1027fa7e0310e3c3ca61b1b9ca7ea60b4660c8e385d23f862f5c29825456bb4a33f8dd6faa9075007698

Description

A tiny binding for the Unix crypt function

Tags

unix hash password

Published: 19 Nov 2025

README

crypt

A tiny binding for the Unix crypt function provides a high-level interface.

Installation

You can install the latest released version of the library using the OPAM package manager.

$ opam install crypt

Alternatively, you can pin the development (upstream) version.

$ opam pin crypt.dev https://github.com/vbmithr/ocaml-crypt.git

Quick Start

The Crypt module contains only one function, crypt, with several parameters.

# #require "crypt";;

# Crypt.crypt ~salt:"GUBv0xjJ" "hello";;
- : string = "GUpsIDCLVu8AY"

# Crypt.crypt ~derivation:Md5 ~salt:"GUBv0xjJ" "hello";;
- : string = "$1$GUBv0xjJ$rQSvX8r6cT7H/NItzzVNQ/"

If you don't provide any salt, a new salt will be generated every time the function is called.

# Crypt.crypt "hello";;
- : string = "QwD.wi5nLT/0s"

# Crypt.crypt "hello";;
- : string = "MYM.5hv5Lk2Mg"

For a deterministic generation, you should use one salt that you can generate using the Crypt.Salt module or another external module.

# let salt = Crypt.Salt.gen_base64 9;;
val salt : string = "dHiPl3q99"

# Crypt.crypt ~salt "hello";;
- : string = "dHDdeFGUWcGyQ"

References

License

The project is licensed under the ISC License, which allows for all permissions. Just use it and enjoy yourself without fear.

Dependencies (3)

  1. ocaml
  2. dune-configurator
  3. dune >= "3.6"

Dev Dependencies (1)

  1. odoc with-doc

Used by

None

Conflicts

None