package fluxt

  1. Overview
  2. Docs
Extensions of flux to provide basic streams (compression, hash, format)

Install

dune-project
 Dependency

Authors

Maintainers

Sources

flux-0.0.1.beta4.tbz
sha256=d0b82b8ba551d37d455472bcefd4f12ec5738d8cfae1631a3816815193afbdc6
sha512=dd4b7138409a0dd465a9b39225b8986a70c526647a88f217647737127fd04d3ad7704a37c212f22c76d0cc3065a89dba839b83342089f1bf062cf08e5a60d1ab

doc/src/fluxt.hash/flux_hash.ml.html

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)