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.beta7.tbz
sha256=4fe47605e171bdc7734d0cd4f3fa8ad5d7e4aa9b7cde8cd46e517dadf0f5dda9
sha512=a198e60da2575a27d6976bac2839e544312e4f5d895bc18bf3d9554396896a406a1143bcc0a28c75b992a060e0a5174a23a6688aaefaa8dd8c37f09b59364ad1

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)