This is an alternative site for discovering Elm packages. You may be looking for the official Elm package site instead.
SHA256 and SHA228 cryptographic hashes Elm.
version 1.0.0
license MIT
native-modules False
elm-version 0.17.1 <= v < 0.18.0
Tag 1.0.1
Committed At 2016-10-14 02:57:14 UTC
elm-lang/html 1.1.0 <= v < 2.0.0 1.1.0
elm-lang/core 4.0.5 <= v < 5.0.0 4.0.5
elm-community/list-extra 3.1.0 <= v < 4.0.0 3.1.0
billstclair/elm-bitwise-infix 1.0.1 <= v < 2.0.0 1.0.2



sha256 and sha224 Cryptographically Secure Hash Functions for Elm

A mindless conversion of a JavaScript sha256 library to Elm.

Thank you to Yi-Cyuan Chen for the JavaScript (

It's as simple as:

import Sha256 exposing (sha256, ssa224)

hash = sha256("foo")
hash2 = sha224("foo")

example/example.elm contains an example comparing the pure Elm code to a native module. To run it:

cd .../elm-sha256/example

Then aim your browser at localhost:8000/example.elm.


The source contains the native JavaScript library, wrapped as an Elm package. You should be able to see from the example how to use it.

The reason you might want to use the JS library is that it's 40 times as fast as the Elm version. The code is unoptimized. Just a fast-and-dirty translation. There are probably some tricks that could make it quite a bit faster without a lot of work, and I may try at some time, but for now, it works.


There are some very simple tests, running the hash functions on the same three strings as are displayed in the example. To run them, you'll need Node.js and make:

cd .../elm-sha256/test