Skip to content

colinta/elm-sha1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SHA1

Calculate SHA-1 digests in Elm.

This package can take a message as a String or List Int ("bytes") calculate SHA-1 digests, and represent them in hexadecimal, base64 or a List Int (as "bytes").

Examples

import SHA1

digest1 : SHA1.Digest
digest1 = SHA1.fromString "string"

digest2 : SHA1.Digest
digest2 = SHA1.fromBytes [0x00, 0xFF, 0xCE, 0x35, 0x74]


SHA1.toHex digest1
--> "ecb252044b5ea0f679ee78ec1a12904739e2904d"

SHA1.toBase64 digest2
--> "gHweOF5Lyg+Ha7ujrlYwNa/Hwgk="

SHA1.toBytes digest1
--> [ 0xEC, 0xB2, 0x52, 0x04, 0x4B
--> , 0x5E, 0xA0, 0xF6, 0x79, 0xEE
--> , 0x78, 0xEC, 0x1A, 0x12, 0x90
--> , 0x47, 0x39, 0xE2, 0x90, 0x4D
--> ]

Validation

Not officially validated through CAVP/CMVP.

Tested against hashes in tests/Tests.elm, indirectly in romariolopezc/elm-hmac-sha1’s tests, and personal use of and the tests for TSFoster/elm-uuid.

Please note that SHA-1 is not “considered secure against well-funded opponents”, but it does have its uses, including, but not limited to, version 5 UUIDs.