Package org.h2.tools

# Class ChangeFileEncryption

java.lang.Object
org.h2.util.Tool
org.h2.tools.ChangeFileEncryption

public class ChangeFileEncryption extends Tool
Allows changing the database file encryption password or algorithm. This tool can not be used to change a password of a user. The database must be closed before using this tool.

## Field Summary

### Fields inherited from class org.h2.util.Tool

`out`

## Constructor Summary

Constructors
Constructor
Description
`ChangeFileEncryption()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`execute(String dir, String db, String cipher, char[] decryptPassword, char[] encryptPassword, boolean quiet)`
Changes the password for a database.
`static void`
`main(String... args)`
Options are case sensitive.
`void`
`runTool(String... args)`
Run the tool with the given output stream and arguments.

### Methods inherited from class org.h2.util.Tool

`getMainClassName, isOption, printNoDatabaseFilesFound, setOut, showUsage, showUsageAndThrowUnsupportedOption, throwUnsupportedOption`

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

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

## Constructor Details

### ChangeFileEncryption

public ChangeFileEncryption()

## Method Details

### main

public static void main(String... args)
Options are case sensitive.

Supported options
[-help] or [-?] | Print the list of options
[-cipher type] | The encryption type (AES)
[-dir <dir>] | The database directory (default: .)
[-db <database>] | Database name (all databases if not set)
[-decrypt <pwd>] | The decryption password (if not set: not yet encrypted)
[-encrypt <pwd>] | The encryption password (if not set: do not encrypt)
[-quiet] | Do not print progress information

Parameters:
  `args` - the command line arguments

### runTool

public void runTool(String... args) throws SQLException
Description copied from class: `Tool`
Run the tool with the given output stream and arguments.

Specified by:
  `runTool` in class `Tool`
Parameters:
  `args` - the argument list
Throws:
  `SQLException` - on failure

### execute

public static void execute(String dir, String db, String cipher, char[] decryptPassword, char[] encryptPassword, boolean quiet) throws SQLException
Changes the password for a database. The passwords must be supplied as char arrays and are cleaned in this method. The database must be closed before calling this method.

Parameters:
  `dir` - the directory (. for the current directory)
  `db` - the database name (null for all databases)
  `cipher` - the cipher (AES)
  `decryptPassword` - the decryption password as a char array
  `encryptPassword` - the encryption password as a char array
  `quiet` - don't print progress information
Throws:
  `SQLException` - on failure