# Deprecated API

## Contents

- Classes
- Methods
- Constructors

Classes
org.springframework.security.crypto.codec.Base64: Use java.util.Base64

org.springframework.security.crypto.password.LdapShaPasswordEncoder

Digest based password encoding is not considered secure. Instead use an adaptive one way function like BCryptPasswordEncoder, Pbkdf2PasswordEncoder, or SCryptPasswordEncoder. Even better use `DelegatingPasswordEncoder` which supports password upgrades. There are no plans to remove this support. It is deprecated to indicate that this is a legacy implementation and using it is considered insecure.

org.springframework.security.crypto.password.Md4PasswordEncoder

Digest based password encoding is not considered secure. Instead use an adaptive one way function like BCryptPasswordEncoder, Pbkdf2PasswordEncoder, or SCryptPasswordEncoder. Even better use `DelegatingPasswordEncoder` which supports password upgrades. There are no plans to remove this support. It is deprecated to indicate that this is a legacy implementation and using it is considered insecure.

org.springframework.security.crypto.password.MessageDigestPasswordEncoder

Digest based password encoding is not considered secure. Instead use an adaptive one way function like BCryptPasswordEncoder, Pbkdf2PasswordEncoder, or SCryptPasswordEncoder. Even better use `DelegatingPasswordEncoder` which supports password upgrades. There are no plans to remove this support. It is deprecated to indicate that this is a legacy implementation and using it is considered insecure.

org.springframework.security.crypto.password.NoOpPasswordEncoder

This PasswordEncoder is not secure. Instead use an adaptive one way function like BCryptPasswordEncoder, Pbkdf2PasswordEncoder, or SCryptPasswordEncoder. Even better use `DelegatingPasswordEncoder` which supports password upgrades. There are no plans to remove this support. It is deprecated to indicate that this is a legacy implementation and using it is considered insecure.

org.springframework.security.crypto.password.StandardPasswordEncoder

Digest based password encoding is not considered secure. Instead use an adaptive one way function like BCryptPasswordEncoder, Pbkdf2PasswordEncoder, or SCryptPasswordEncoder. Even better use `DelegatingPasswordEncoder` which supports password upgrades. There are no plans to remove this support. It is deprecated to indicate that this is a legacy implementation and using it is considered insecure.

Methods
org.springframework.security.crypto.argon2.Argon2PasswordEncoder.defaultsForSpringSecurity_v5_2(): Use `Argon2PasswordEncoder.defaultsForSpringSecurity_v5_8()` instead
org.springframework.security.crypto.encrypt.Encryptors.queryableText​(CharSequence, CharSequence): This encryptor is not secure. Instead, look to your data store for a mechanism to query encrypted data.
org.springframework.security.crypto.password.Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_5(): Use `Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8()` instead
org.springframework.security.crypto.scrypt.SCryptPasswordEncoder.defaultsForSpringSecurity_v4_1(): Use `SCryptPasswordEncoder.defaultsForSpringSecurity_v5_8()` instead

Constructors
org.springframework.security.crypto.argon2.Argon2PasswordEncoder(): Use `Argon2PasswordEncoder.defaultsForSpringSecurity_v5_2()` instead
org.springframework.security.crypto.password.Pbkdf2PasswordEncoder(): Use `Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_5()` instead
org.springframework.security.crypto.scrypt.SCryptPasswordEncoder(): Use `SCryptPasswordEncoder.defaultsForSpringSecurity_v4_1()` instead