1if not modules then modules = { } end modules [ ' l-sha ' ] = {
2 version = 1 . 001 ,
3 comment = " companion to luat-lib.mkiv " ,
4 author = " Hans Hagen, PRAGMA-ADE, Hasselt NL " ,
5 copyright = " PRAGMA ADE / ConTeXt Development Team " ,
6 license = " see context related readme files "
7}
8
9if sha2 then
10
11 local lpegmatch = lpeg . match
12 local lpegpatterns = lpeg . patterns
13 local bytestohex = lpegpatterns . bytestohex
14 local bytestoHEX = lpegpatterns . bytestoHEX
15
16 local digest256 = sha2 . digest256
17 local digest384 = sha2 . digest384
18 local digest512 = sha2 . digest512
19
20 sha2 . hash256 = function ( str ) return lpegmatch ( bytestohex , digest256 ( str ) ) end
21 sha2 . hash384 = function ( str ) return lpegmatch ( bytestohex , digest384 ( str ) ) end
22 sha2 . hash512 = function ( str ) return lpegmatch ( bytestohex , digest512 ( str ) ) end
23 sha2 . HASH256 = function ( str ) return lpegmatch ( bytestoHEX , digest256 ( str ) ) end
24 sha2 . HASH384 = function ( str ) return lpegmatch ( bytestoHEX , digest384 ( str ) ) end
25 sha2 . HASH512 = function ( str ) return lpegmatch ( bytestoHEX , digest512 ( str ) ) end
26
27end
28 |