package fluxt

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

Source file flux_hash.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
open Digestif

let of_module : type t.
    (module Digestif.S with type t = t) -> (string, t) Flux.sink =
 fun (module Hash) ->
  let init () = Hash.empty
  and push ctx str = Hash.feed_string ctx str
  and full = Fun.const false
  and stop = Hash.get in
  Flux.Sink { init; push; full; stop }

let md5 = of_module (module MD5)
let sha1 = of_module (module SHA1)
let sha224 = of_module (module SHA224)
let sha256 = of_module (module SHA256)
let sha384 = of_module (module SHA384)
let sha512 = of_module (module SHA512)
let blake2b = of_module (module BLAKE2B)
let blake2s = of_module (module BLAKE2S)
let whirlpool = of_module (module WHIRLPOOL)
let rmd160 = of_module (module RMD160)
let keccak256 = of_module (module KECCAK_256)