<div class="meta" robots="noindex">

</div>

Module

# Xojo.Crypto

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

<div class="warning">

<div class="title">

Warning

</div>

This item was deprecated in version 2020r2. Please use `Crypto</api/cryptography/crypto>` as a replacement.

</div>

## Description

This namespace contains hashing methods for use with cryptography.

## Methods

<div class="rst-class">

table-centered_column_4

</div>

| Name                                                   | Parameters                                                                                                                                                                                                                                                                    | Returns                                  | Shared |
|--------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------|--------|
| `BERDecodePrivateKey<xojo.crypto.berdecodeprivatekey>` | privateKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                        | `MemoryBlock</api/language/memoryblock>` |        |
| `BERDecodePublicKey<xojo.crypto.berdecodepublickey>`   | publicKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                         | `MemoryBlock</api/language/memoryblock>` |        |
| `DEREncodePrivateKey<xojo.crypto.derencodeprivatekey>` | privateKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                        | `MemoryBlock</api/language/memoryblock>` |        |
| `DEREncodePublicKey<xojo.crypto.derencodepublickey>`   | publicKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                         | `MemoryBlock</api/language/memoryblock>` |        |
| `GenerateRandomBytes<xojo.crypto.generaterandombytes>` | byteCount As `UInteger</api/data_types/additional_types/uinteger>`                                                                                                                                                                                                            | `MemoryBlock</api/language/memoryblock>` |        |
| `Hash<xojo.crypto.hash>`                               | data As `MemoryBlock</api/language/memoryblock>`, algorithm As Xojo.Crypto                                                                                                                                                                                                    | `MemoryBlock</api/language/memoryblock>` |        |
| `HMAC<xojo.crypto.hmac>`                               | key As `MemoryBlock</api/language/memoryblock>`, data As `MemoryBlock</api/language/memoryblock>`, algorithm As Xojo.Crypto                                                                                                                                                   | `MemoryBlock</api/language/memoryblock>` |        |
| `MD5<xojo.crypto.md5>`                                 | data As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                              | `MemoryBlock</api/language/memoryblock>` |        |
| `PBKDF2<xojo.crypto.pbkdf2>`                           | salt As `MemoryBlock</api/language/memoryblock>`, data As `MemoryBlock</api/language/memoryblock>`, iterations As `UInt32</api/data_types/additional_types/uint32>`, desiredHashLength As `UInteger</api/data_types/additional_types/uinteger>`, hashAlgorithm As Xojo.Crypto | `MemoryBlock</api/language/memoryblock>` |        |
| `RSADecrypt<xojo.crypto.rsadecrypt>`                   | data As `MemoryBlock</api/language/memoryblock>`, privateKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                      | `MemoryBlock</api/language/memoryblock>` |        |
| `RSAEncrypt<xojo.crypto.rsaencrypt>`                   | data As `MemoryBlock</api/language/memoryblock>`, publicKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                       | `MemoryBlock</api/language/memoryblock>` |        |
| `RSAGenerateKeyPair<xojo.crypto.rsageneratekeypair>`   | bits As `UInteger</api/data_types/additional_types/uinteger>`, `ByRef</api/language/byref>` privateKey As `MemoryBlock</api/language/memoryblock>`, `ByRef</api/language/byref>` publicKey As `MemoryBlock</api/language/memoryblock>`                                        | `Boolean</api/data_types/boolean>`       |        |
| `RSASign<xojo.crypto.rsasign>`                         | data As `MemoryBlock</api/language/memoryblock>`, privateKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                      | `MemoryBlock</api/language/memoryblock>` |        |
| `RSAVerifyKey<xojo.crypto.rsaverifykey>`               | key As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                               | `Boolean</api/data_types/boolean>`       |        |
| `RSAVerifySignature<xojo.crypto.rsaverifysignature>`   | data As `MemoryBlock</api/language/memoryblock>`, signature As `MemoryBlock</api/language/memoryblock>`, publicKey As `MemoryBlock</api/language/memoryblock>`                                                                                                                | `Boolean</api/data_types/boolean>`       |        |
| `SHA1<xojo.crypto.sha1>`                               | data As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                              | `MemoryBlock</api/language/memoryblock>` |        |
| `SHA256<xojo.crypto.sha256>`                           | data As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                              | `MemoryBlock</api/language/memoryblock>` |        |
| `SHA512<xojo.crypto.sha512>`                           | data As `MemoryBlock</api/language/memoryblock>`                                                                                                                                                                                                                              | `MemoryBlock</api/language/memoryblock>` |        |

## Enumerations

<div id="xojo.crypto.hashalgorithms">

<div class="rst-class">

forsearch

</div>

</div>

Xojo.Crypto.HashAlgorithms

### HashAlgorithms

Used by the HMAC, Hash and PBKDF2 methods to specify the type of algorithm to use. (MD5, SHA1, SHA256, SHA512)

| Enum   | Description                                                                          |
|--------|--------------------------------------------------------------------------------------|
| MD5    | [MD5](http://en.wikipedia.org/wiki/MD5) message-digest algorithm.                    |
| SHA1   | [SHA-1](http://en.wikipedia.org/wiki/SHA-1) produces a 160-bit (20-byte) hash value. |
| SHA256 | [SHA-2](http://en.wikipedia.org/wiki/SHA-2) with 256 bit digest.                     |
| SHA512 | [SHA-2](http://en.wikipedia.org/wiki/SHA-2) with 512 bit digest.                     |

## Method descriptions

<div id="xojo.crypto.berdecodeprivatekey">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.BERDecodePrivateKey

**BERDecodePrivateKey**(privateKey As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Decodes a private key for interoperability with the BER encoding for use by other libraries.

For more information, refer to [BER and DER Encoding](http://www.cryptopp.com/wiki/Keys_and_Formats#BER_and_DER_Encoding).

<div id="xojo.crypto.berdecodepublickey">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.BERDecodePublicKey

**BERDecodePublicKey**(publicKey As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Decodes a public key for interoperability with the BER encoding for use by other libraries.

For more information, refer to [BER and DER Encoding](http://www.cryptopp.com/wiki/Keys_and_Formats#BER_and_DER_Encoding).

<div id="xojo.crypto.derencodeprivatekey">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.DEREncodePrivateKey

**DEREncodePrivateKey**(privateKey As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Encodes a private key for interoperability with the DER encoding for use by other libraries.

For more information, refer to [BER and DER Encoding](http://www.cryptopp.com/wiki/Keys_and_Formats#BER_and_DER_Encoding).

<div id="xojo.crypto.derencodepublickey">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.DEREncodePublicKey

**DEREncodePublicKey**(publicKey As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Encodes a public key for interoperability with the DER encoding for use by other libraries.

For more information, refer to [BER and DER Encoding](http://www.cryptopp.com/wiki/Keys_and_Formats#BER_and_DER_Encoding).

<div id="xojo.crypto.generaterandombytes">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.GenerateRandomBytes

**GenerateRandomBytes**(byteCount As `UInteger</api/data_types/additional_types/uinteger>`) As `MemoryBlock</api/language/memoryblock>`

Generates a random block of data of the specified byteCount.

``` xojo
Dim mb1 As New Xojo.Core.MemoryBlock(1024)
mb1 = Xojo.Crypto.GenerateRandomBytes(1024)
```

<div id="xojo.crypto.hash">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.Hash

**Hash**(data As `MemoryBlock</api/language/memoryblock>`, algorithm As Xojo.Crypto) As `MemoryBlock</api/language/memoryblock>`

Creates a hash value for the data using the specified algorithm.

``` xojo
Using Xojo.Core
Using Xojo.Crypto
Dim hash As MemoryBlock
hash = Hash("YourPasswordSentence", Crypto.HashAlgorithms.SHA512)
```

<div id="xojo.crypto.hmac">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.HMAC

**HMAC**(key As `MemoryBlock</api/language/memoryblock>`, data As `MemoryBlock</api/language/memoryblock>`, algorithm As Xojo.Crypto) As `MemoryBlock</api/language/memoryblock>`

Creates the hash-based message authentication code using the data, the supplied key value and the supplied algorithm.

The key value is applied to the data before generating the hash. Refer to [HMAC on wikipedia](http://en.wikipedia.org/wiki/Hash-based_message_authentication_code).

<div id="xojo.crypto.md5">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.MD5

**MD5**(data As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Generates the [MD5 message-digest](http://en.wikipedia.org/wiki/MD5) value of the data.

<div id="xojo.crypto.pbkdf2">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.PBKDF2

**PBKDF2**(salt As `MemoryBlock</api/language/memoryblock>`, data As `MemoryBlock</api/language/memoryblock>`, iterations As `UInt32</api/data_types/additional_types/uint32>`, desiredHashLength As `UInteger</api/data_types/additional_types/uinteger>`, hashAlgorithm As Xojo.Crypto) As `MemoryBlock</api/language/memoryblock>`

Returns the PBKDF2 hash value of the data, first applying the salt value and using the specified hashAlgorithm. The iterations parameter is the number of loops that the hash algorithm does. The desiredHashLength parameter lets you specify the number of bytes that you want the resulting hash to be. 16 or 32 bytes are commonly used.

PBKDF2 is a "slow", i.e. deliberately processing intensive, algorithm for generating hash values. Slow is relative, for generating a single hash value it is plenty fast. The benefit of a slow algorithm is that it is impractical for hackers to generate hash tables using it because it would take too long to generate the thousands of hashes for commonly used values. Use a higher value for iterations to further slow the hash creation.

Refer to [PBKDF2](http://en.wikipedia.org/wiki/Pbkdf2) on Wikipedia.

``` xojo
Using Xojo.Core
Using Xojo.Crypto

Dim salt As Text = "SaltValue"
Dim saltMB As MemoryBlock
saltMB = Xojo.Core.TextEncoding.UTF8.ConvertTextToData(salt)

Dim password As Text = "YourPasswordSentence"
Dim passwordMB As MemoryBlock
passwordMB = Xojo.Core.TextEncoding.UTF8.ConvertTextToData(password)

Dim hash As MemoryBlock
hash = PBKDF2(saltMB, passwordMB, 100, 32, HashAlgorithms.SHA512)
```

<div id="xojo.crypto.rsadecrypt">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.RSADecrypt

**RSADecrypt**(data As `MemoryBlock</api/language/memoryblock>`, privateKey As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Decrypts data using the specified privateKey.

<div id="xojo.crypto.rsaencrypt">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.RSAEncrypt

**RSAEncrypt**(data As `MemoryBlock</api/language/memoryblock>`, publicKey As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Encrypts the data using the specified publicKey.

The data that is being encrypted should be kept pretty short (usually just a couple hundred characters, but it depends on the number of bits you use to create the keys). Typically you use the this to communicate a "secret key" of some kind that can be used to decrypt an actual message that was encrypted using some other technique (such as AES).

<div class="warning">

<div class="title">

Warning

</div>

A `CryptoException</api/exceptions/cryptoexception>` will be raised if you attempt to encrypt using a private key.

</div>

<div id="xojo.crypto.rsageneratekeypair">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.RSAGenerateKeyPair

**RSAGenerateKeyPair**(bits As `UInteger</api/data_types/additional_types/uinteger>`, `ByRef</api/language/byref>` privateKey As `MemoryBlock</api/language/memoryblock>`, `ByRef</api/language/byref>` publicKey As `MemoryBlock</api/language/memoryblock>`) As `Boolean</api/data_types/boolean>`

Generates a private and public key pair that is hex encoded. True if the keys were successfully generated, False if they were not.

You will typically use a bits value of 1024 or 2048.

<div id="xojo.crypto.rsasign">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.RSASign

**RSASign**(data As `MemoryBlock</api/language/memoryblock>`, privateKey As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Signs the data block using the specified privateKey using PKCS v1.5 with SHA1.

Sign a message:

``` xojo
Using Xojo.Core
Using Xojo.Crypto

Dim privateKey As MemoryBlock
Dim publicKey As MemoryBlock

If RSAGenerateKeyPair( 1024, privateKey, publicKey ) Then
  ' 1024-bit private and public keys were generated

  Dim msg As MemoryBlock = TextEncoding.UTF8.ConvertTextToData("this is a test")

  Dim signature As MemoryBlock = RSASign( msg, privateKey )
  If signature <> Nil Then
    ' msg was successfully signed
  End If
End If
```

<div id="xojo.crypto.rsaverifykey">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.RSAVerifyKey

**RSAVerifyKey**(key As `MemoryBlock</api/language/memoryblock>`) As `Boolean</api/data_types/boolean>`

Attempts to validate the specified key. True if the signature is valid, False if it is not.

<div id="xojo.crypto.rsaverifysignature">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.RSAVerifySignature

**RSAVerifySignature**(data As `MemoryBlock</api/language/memoryblock>`, signature As `MemoryBlock</api/language/memoryblock>`, publicKey As `MemoryBlock</api/language/memoryblock>`) As `Boolean</api/data_types/boolean>`

Verifies the data using the specified signature and key using PKCS v1.5 with SHA1. True if the signature is valid, False if it is not.

<div id="xojo.crypto.sha1">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.SHA1

**SHA1**(data As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Generates the SHA1 hash value for data.

<div id="xojo.crypto.sha256">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.SHA256

**SHA256**(data As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Generates SHA256 hash value for data.

``` xojo
Dim t As Text = "TestData"

' Convert text to a MemoryBlock
Dim textData As Xojo.Core.MemoryBlock
textData = Xojo.Core.TextEncoding.UTF8.ConvertTextToData(t)

' Create SHA256
Dim sha1 As Xojo.Core.MemoryBlock
sha1 = Xojo.Crypto.SHA256(textData)

' Convert SHA256 to Text
' Note that this contains invalid UTF8 characters so really
' cannot be displayed
Dim sha1Text As Text
sha1Text = Xojo.Core.TextEncoding.UTF8.ConvertDataToText(sha1, True)
```

<div id="xojo.crypto.sha512">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

Xojo.Crypto.SHA512

**SHA512**(data As `MemoryBlock</api/language/memoryblock>`) As `MemoryBlock</api/language/memoryblock>`

Generates SHA512 hash value for data.

## Compatibility

All project types on all supported operating systems.

## See also

`MemoryBlock</api/language/memoryblock>` class
