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.beta6.tbz
sha256=a73ac59332c252a7ec2bf1b6cf59f1f03e0a2bbd8fa93a059c31a1263527b759
sha512=c020ad017f3606b430bb717d45615baa4b875c1b3aee5945ac84a65d85b5c01ffad198bf7d3c3c65c864bfc53d702d474b82d5655eb4e926dd03bb10e55f1d3b

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)