MD5: Difference between revisions

956 bytes added ,  13 years ago
added OpenEdge solution
(added OpenEdge solution)
Line 946:
hash = md5sum(s, true);
disp(hash)</lang>
 
=={{header|OpenEdge/Progres}}==
The MD5-DIGEST function is readily available, but displaying hexadecimal is not.
 
<lang progress>DEFINE VARIABLE cc AS CHARACTER INITIAL "The quick brown fox jumps over the lazy dog".
 
FUNCTION displayHex RETURNS CHARACTER (
i_rr AS RAW
):
 
DEFINE VARIABLE ii AS INTEGER.
DEFINE VARIABLE cc AS CHARACTER.
DEFINE VARIABLE chex AS CHARACTER INITIAL "0123456789abcdef".
 
DO ii = 1 TO LENGTH( i_rr ):
ASSIGN
cc = cc
+ SUBSTRING( chex, INTEGER( TRUNCATE( GET-BYTE( i_rr, ii ) / 16, 0 ) + 1 ), 1 )
+ SUBSTRING( chex, GET-BYTE( i_rr, ii ) MODULO 16 + 1, 1 )
.
END.
 
RETURN cc.
 
END FUNCTION. /* displayHex */
 
MESSAGE displayHex( MD5-DIGEST( cc ) ) VIEW-AS ALERT-BOX.
</lang>
 
Output:
<pre>
---------------------------
Message
---------------------------
9e107d9d372bb6826bd81d3542a419d6
---------------------------
OK
---------------------------
</pre>
 
=={{header|Perl}}==
73

edits