sh1 - SHA-1 module
Module Description
The sh1 module implements the SHA-1 algorithm.
Module Words
SHA-1 structure
- sh1% ( -- n )
- Get the required space for a sha1 variable
SHA-1 variable creation, initialisation and destruction
- sh1-init ( sh1 -- )
- Initialise the sh1
- sh1-create ( "<spaces>name" -- ; -- sh1 )
- Create a named sha-1 variable in the dictionary
- sh1-new ( -- sh1 )
- Create a new sha-1 variable on the heap
- sh1-free ( sh1 -- )
- Free the sha-1 variable from the heap
SHA-1 words
- sh1-reset ( sh1 -- )
- Reset the SHA-1 state
- sh1-update ( c-addr u sh1 -- )
- Update the SHA-1 with more data c-addr u
- sh1-finish ( sh1 -- u1 u2 u3 u4 u5 )
- Finish the SHA-1 calculation, return the sha values
- sh1+to-string ( u1 u2 u3 u4 u5 -- c-addr u )
- Convert SHA-1 result to the string c-addr u, using the pictured output area
Inspection
- sh1-dump ( sh1 -- )
- Dump the sh1 variable
Examples
include ffl/sh1.fs
\ Create a SHA-1 variable sh1 in the dictionary
sh1-create sh1
\ Update the variable with data
s" The quick brown fox jumps over the lazy dog" sh1 sh1-update
\ Finish the SHA-1 calculation resulting in 5 unsigned 32 bit words
\ on the stack representing the hash value
sh1 sh1-finish
\ Convert the hash value to a hex string and print
sh1+to-string type cr
\ Create a SHA-1 variable on the heap
sh1-new value sh2
\ Update the variable with multiple data
s" The quick brown fox " sh2 sh1-update
s" jumps over the lazy dog" sh2 sh1-update
\ Finish the calculation
sh2 sh1-finish
\ Convert the hash value to a hex string and print
sh1+to-string type cr
\ Free the variable from the heap
sh2 sh1-free
generated 03-Jun-2010 by ofcfrth-0.10.0