# derby.authentication.builtin.algorithm

The derby.authentication.builtin.algorithm property specifies the message digest algorithm to use to protect the passwords that are stored in the database when using NATIVE authentication.

The value is the name of a message digest algorithm available from one of the Java Cryptography Extension (JCE) providers registered in the JVM. Some examples of valid values are MD5, SHA-256, and SHA-512.

The specified algorithm will be applied on the concatenation of the user name and the password before it is stored in the database.

## Syntax

    derby.authentication.builtin.algorithm=algorithm

If the value of algorithm is NULL or an empty string, SHA-1 will be used on the password only.

## Default

For a newly created database, the default value is SHA-256, if that algorithm is available. If SHA-256 is not available, the default is SHA-1.

## Example

    -- system-wide property
    derby.authentication.builtin.algorithm=SHA-512

    -- database-level property
    CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(
        'derby.authentication.builtin.algorithm', 'SHA-512');

## Dynamic or static

Dynamic; the change takes effect immediately. For information about dynamic changes to properties, see Dynamic and static properties.

Parent topic: Derby properties
Related reference
derby.authentication.builtin.iterations
derby.authentication.builtin.saltLength
derby.authentication.ldap.searchAuthDN
derby.authentication.ldap.searchAuthPW
derby.authentication.ldap.searchBase
derby.authentication.ldap.searchFilter
derby.authentication.native.passwordLifetimeMillis
derby.authentication.native.passwordLifetimeThreshold
derby.authentication.provider
derby.authentication.server
derby.connection.requireAuthentication
derby.database.classpath
derby.database.defaultConnectionMode
derby.database.forceDatabaseLock
derby.database.fullAccessUsers
derby.database.noAutoBoot
derby.database.propertiesOnly
derby.database.readOnlyAccessUsers
derby.database.sqlAuthorization
derby.infolog.append
derby.jdbc.xaTransactionTimeout
derby.language.logQueryPlan
derby.language.logStatementText
derby.language.sequence.preallocator
derby.language.statementCacheSize
derby.locks.deadlockTimeout
derby.locks.deadlockTrace
derby.locks.escalationThreshold
derby.locks.monitor
derby.locks.waitTimeout
derby.replication.logBufferSize
derby.replication.maxLogShippingInterval
derby.replication.minLogShippingInterval
derby.replication.verbose
derby.storage.indexStats.auto
derby.storage.indexStats.log
derby.storage.indexStats.trace
derby.storage.initialPages
derby.storage.minimumRecordSize
derby.storage.pageCacheSize
derby.storage.pageReservedSpace
derby.storage.pageSize
derby.storage.rowLocking
derby.storage.tempDirectory
derby.storage.useDefaultFilePermissions
derby.stream.error.extendedDiagSeverityLevel
derby.stream.error.field
derby.stream.error.file
derby.stream.error.logBootTrace
derby.stream.error.logSeverityLevel
derby.stream.error.method
derby.stream.error.rollingFile.count
derby.stream.error.rollingFile.limit
derby.stream.error.rollingFile.pattern
derby.stream.error.style
derby.system.bootAll
derby.system.durability
derby.system.home
derby.user.UserName
DataDictionaryVersion