All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.yourinspiration.jexpresso.baseauth.impl.PasswordEncoders Maven / Gradle / Ivy

package de.yourinspiration.jexpresso.baseauth.impl;

import de.yourinspiration.jexpresso.baseauth.PasswordEncoder;

/**
 * Simple factory to get password encoder instances.
 *
 * @author Marcel Härle
 */
public final class PasswordEncoders {

    private static final MD5PasswordEncoder md5PasswordEncoder = new MD5PasswordEncoder();
    private static final BCryptPasswordEncoder bcryptPasswordEncoder = new BCryptPasswordEncoder();
    private static final PBKDF2PasswordEncoder pbkdf2PasswordEncoder = new PBKDF2PasswordEncoder();
    private static final PlainTextPasswordEncoder plaintextPasswordEncoder = new PlainTextPasswordEncoder();
    private static final SHA256PasswordEncoder sha256PasswordEncoder = new SHA256PasswordEncoder();
    private static final SHA512PasswordEncoder sha512PasswordEncoder = new SHA512PasswordEncoder();

    /**
     * Get an instance for the MD5 algorithm.
     *
     * @return a MD5 password encoder
     */
    public static PasswordEncoder md5() {
        return md5PasswordEncoder;
    }

    /**
     * Get an instance for the BCrypt algorithm.
     *
     * @return a BCrypt password encoder
     */
    public static PasswordEncoder bcrypt() {
        return bcryptPasswordEncoder;
    }

    /**
     * Get an instance for the PBKDF2 algorithm.
     *
     * @return a PBKDF2 password encoder
     */
    public static PasswordEncoder pbkdf2() {
        return pbkdf2PasswordEncoder;
    }

    /**
     * Get an instance for plain text.
     *
     * @return a plain text password encoder
     */
    public static PasswordEncoder plaintext() {
        return plaintextPasswordEncoder;
    }

    /**
     * Get an instance for the SHA-256 algorithm.
     *
     * @return a SHA-256 password encoder
     */
    public static PasswordEncoder sha256() {
        return sha256PasswordEncoder;
    }

    /**
     * Get an instance for the SHA-512 algorithm.
     *
     * @return a SHA-512 password encoder
     */
    public static PasswordEncoder sha512() {
        return sha512PasswordEncoder;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy