An implementation of several SHA cryptographic hash functions. This package uses icidasset/elm-binary to work with binary numbers.
SHA-256.
>>> import Binary
>>> "abc"
..> |> Binary.fromStringAsUtf8
..> |> SHA.sha256
..> |> Binary.toHex
"BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD"
>>> "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
..> |> Binary.fromStringAsUtf8
..> |> SHA.sha256
..> |> Binary.toHex
"CF5B16A778AF8380036CE59E7B0492370B249B11E8F07A51AFAC45037AFEE9D1"SHA-384.
>>> import Binary
>>> "abc"
..> |> Binary.fromStringAsUtf8
..> |> SHA.sha384
..> |> Binary.toHex
"CB00753F45A35E8BB5A03D699AC65007272C32AB0EDED1631A8B605A43FF5BED8086072BA1E7CC2358BAECA134C825A7"
>>> "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
..> |> Binary.fromStringAsUtf8
..> |> SHA.sha384
..> |> Binary.toHex
"09330C33F71147E83D192FC782CD1B4753111B173B3B05D22FA08086E3B0F712FCC7C71A557E2DB966C3E9FA91746039"SHA-512.
>>> import Binary
>>> "abc"
..> |> Binary.fromStringAsUtf8
..> |> SHA.sha512
..> |> Binary.toHex
"DDAF35A193617ABACC417349AE20413112E6FA4E89A97EA20A9EEEE64B55D39A2192992A274FC1A836BA3C23A3FEEBBD454D4423643CE80E2A9AC94FA54CA49F"
>>> "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
..> |> Binary.fromStringAsUtf8
..> |> SHA.sha512
..> |> Binary.toHex
"8E959B75DAE313DA8CF4F72814FC143F8F7779C6EB9F7FA17299AEADB6889018501D289E4900F7E4331B99DEC4B5433AC7D329EEB6DD26545E96E55B874BE909"
SHA-224.