Package org.h2.tools

Class 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.
    • Constructor Detail

      • ChangeFileEncryption

        public ChangeFileEncryption()
        Creates default instance
    • Method Detail

      • main

        public static void main​(java.lang.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​(java.lang.String... args)
                     throws java.sql.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:
        java.sql.SQLException - on failure
      • execute

        public static void execute​(java.lang.String dir,
                                   java.lang.String db,
                                   java.lang.String cipher,
                                   char[] decryptPassword,
                                   char[] encryptPassword,
                                   boolean quiet)
                            throws java.sql.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:
        java.sql.SQLException - on failure