Package org.h2.security

# Class AES

java.lang.Object
org.h2.security.AES

All Implemented Interfaces:
  `BlockCipher`

public class AES extends Object implements BlockCipher
An implementation of the AES block cipher algorithm, also known as Rijndael. Only AES-128 is supported by this class.

## Field Summary

### Fields inherited from interface org.h2.security.BlockCipher

`ALIGN`

## Constructor Summary

Constructors
Constructor
Description
`AES()`

## Method Summary

Modifier and Type
Method
Description
`void`
`decrypt(byte[] bytes, int off, int len)`
Decrypt a number of bytes.
`void`
`encrypt(byte[] bytes, int off, int len)`
Encrypt a number of bytes.
`int`
`getKeyLength()`
Get the length of the key in bytes.
`void`
`setKey(byte[] key)`
Set the encryption key used for encrypting and decrypting.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AES

public AES()

## Method Details

### setKey

public void setKey(byte[] key)
Description copied from interface: `BlockCipher`
Set the encryption key used for encrypting and decrypting. The key needs to be 16 bytes long.

Specified by:
  `setKey` in interface `BlockCipher`
Parameters:
  `key` - the key

### encrypt

public void encrypt(byte[] bytes, int off, int len)
Description copied from interface: `BlockCipher`
Encrypt a number of bytes. This is done in-place, that means the bytes are overwritten.

Specified by:
  `encrypt` in interface `BlockCipher`
Parameters:
  `bytes` - the byte array
  `off` - the start index
  `len` - the number of bytes to encrypt

### decrypt

public void decrypt(byte[] bytes, int off, int len)
Description copied from interface: `BlockCipher`
Decrypt a number of bytes. This is done in-place, that means the bytes are overwritten.

Specified by:
  `decrypt` in interface `BlockCipher`
Parameters:
  `bytes` - the byte array
  `off` - the start index
  `len` - the number of bytes to decrypt

### getKeyLength

public int getKeyLength()
Description copied from interface: `BlockCipher`
Get the length of the key in bytes.

Specified by:
  `getKeyLength` in interface `BlockCipher`
Returns:
  the length of the key