The EVP Digest component provides an interface to the OpenSSL EVP library of message digest algorithms. The EVP library provides a high-level interface to cryptographic hash functions.
Supported Interfaces
Description
roEVPDigest processes an arbitrary amount of data and generates a hash of the data, using a selected algorithm.
For additional information on the OpenSSL library of message digest algorithms see:
http://www.openssl.org/docs/apps/dgst.html
http://www.openssl.org/docs/apps/dgst.html
List of Supported Digest Algorithms:
- md5 - MD5 message digest algorithm (default)
- sha1 - SHA-1 message digest algorithm
- sha224 - SHA-2, 224 bit variant
- sha256 - SHA-2, 256 bit variant
- sha384 - SHA-2, 384 bit variant
- sha512 - SHA-2, 512 bit variant
Example: SHA1 Message Digest with roEVPDigest
ba = CreateObject("roByteArray")
' ...populate bytearray...
digest = CreateObject("roEVPDigest")
digest.Setup("sha1")
result = digest.Process(ba)
print result
Example: MD5 Message Digest with roEVPDigest
ba1 = CreateOjbect("roByteArray")
' ...populate ba1...
ba2 = CreateObject("roByteArray")
ba2.FromAsciiString(somestring)
digest = CreateObject("roEVPDigest")
digest.Setup("md5")
digest.Update(ba1)
digest.Update(ba2)
result = digest.Final()
print result