# Hasp.Decrypt Method

Namespace: Aladdin.Hasp

## Description

Reverses the operation of the Encrypt method applied on a data buffer, returning the data to its unencrypted state.

## Syntax

    HaspStatus Decrypt ( Byte[] buffer )

## Parameters

`buffer` | Bytes to be decrypted

## Return Values

A HaspStatus status code.

## Usage Notes

Decrypts data using the encryption engine in the Sentinel protection key. The session established with the Login method controls which Sentinel protection key and which Feature ID decrypt the data buffer. The same Feature ID that was used to encrypt a data buffer must be used to decrypt it. The encryption key remains in the Sentinel protection key. If the decryption fails, the data buffer is not modified.

To encrypt data, use the Encrypt method.

NOTE To defeat a protection key emulator attempting to bypass software protection, you can check periodically that the protection key is available and that a session for the key exists. This should not be done using GetSessionInfo (this method does not detect a remote broken session). Instead, use one of the following methods: Encrypt, Decrypt, Read, Write. These methods will return HASP_BROKEN_SESSION if a session for the protection key does not exist.

You can call the Encrypt or Decrypt method to check whether the license for the current Feature has expired. See Checking the License Expiration Date of a Feature.

## Overloaded Methods

The following overloaded methods are provided. They differ from the method above only in the argument type that they accept.

    HaspStatus Decrypt ( Char[] data )HaspStatus Decrypt ( Double[] data )HaspStatus Decrypt ( Int16[] data )HaspStatus Decrypt ( Int32[] data )HaspStatus Decrypt ( Int64[] data )HaspStatus Decrypt ( Single[] data )HaspStatus Decrypt ( ref String data )

## Related Topics

Encrypt method