roEVPDigest

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.

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

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

Supported interfaces