Class SecurityTools.PasswordHashes

  • Enclosing class:
    SecurityTools

    public static final class SecurityTools.PasswordHashes
    extends java.lang.Object
    Contains methods dealing with hashing passwords.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean checkBCryptHashesMatch​(java.lang.String enteredPassword, java.lang.String databasePassword, java.lang.String databaseSalt)
      Checks if login hashes match.
      static boolean checkHashesMatch​(java.lang.String enteredPassword, java.lang.String databasePassword, java.lang.String databaseSalt)
      Checks if login hashes match.
      static java.lang.String createBCryptHash​(java.lang.String passwordToHash, java.lang.String salt)
      Creates a BCrypt Hash.
      static java.lang.String createBCryptSaltString​(int size)
      Creates a BCrypt salt to use for hashing.
      static java.lang.String createHash​(java.lang.String passwordToHash, byte[] salt)
      Creates a SHA512 Hash.
      static java.lang.String createHash​(java.lang.String passwordToHash, java.lang.String salt)
      Creates a SHA512 Hash.
      static byte[] createSaltByte​(int size)
      Creates a Secure Random salt to use for hashing.
      static java.lang.String createSaltString​(int size)
      Creates a Secure Random salt to use for hashing.
      static java.security.SecureRandom createSecureRandom()
      Creates a Secure Random number.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • createBCryptSaltString

        public static java.lang.String createBCryptSaltString​(int size)
        Creates a BCrypt salt to use for hashing.
        Parameters:
        size - Size as int to use as length of salt
        Returns:
        Salt as string
      • createSaltString

        public static java.lang.String createSaltString​(int size)
                                                 throws java.security.GeneralSecurityException
        Creates a Secure Random salt to use for hashing.
        Parameters:
        size - Size as int to use as length of salt
        Returns:
        Salt as string
        Throws:
        java.security.GeneralSecurityException - if error occurs
      • createSecureRandom

        public static java.security.SecureRandom createSecureRandom()
                                                             throws java.security.GeneralSecurityException
        Creates a Secure Random number.
        Returns:
        Secure random number as a SecureRandom object
        Throws:
        java.security.GeneralSecurityException - if error occurs
      • createSaltByte

        public static byte[] createSaltByte​(int size)
                                     throws java.security.GeneralSecurityException
        Creates a Secure Random salt to use for hashing.
        Parameters:
        size - Size as int to use as length of salt
        Returns:
        Salt as byte array
        Throws:
        java.security.GeneralSecurityException - if error occurs
      • createBCryptHash

        public static java.lang.String createBCryptHash​(java.lang.String passwordToHash,
                                                        java.lang.String salt)
        Creates a BCrypt Hash.
        Parameters:
        passwordToHash - Password to hash
        salt - Salt as string to use for hashing
        Returns:
        Hashed password as string
      • createHash

        public static java.lang.String createHash​(java.lang.String passwordToHash,
                                                  byte[] salt)
                                           throws java.security.GeneralSecurityException
        Creates a SHA512 Hash.
        Parameters:
        passwordToHash - Password to hash
        salt - Salt as byte array to use for hashing
        Returns:
        Hashed password as string
        Throws:
        java.security.GeneralSecurityException - if error occurs
      • createHash

        public static java.lang.String createHash​(java.lang.String passwordToHash,
                                                  java.lang.String salt)
                                           throws java.security.GeneralSecurityException
        Creates a SHA512 Hash.
        Parameters:
        passwordToHash - Password to hash
        salt - Salt as string to use for hashing
        Returns:
        Hashed password as string
        Throws:
        java.security.GeneralSecurityException - if error occurs
      • checkBCryptHashesMatch

        public static boolean checkBCryptHashesMatch​(java.lang.String enteredPassword,
                                                     java.lang.String databasePassword,
                                                     java.lang.String databaseSalt)
        Checks if login hashes match.
        Parameters:
        enteredPassword - Password to validate.
        databasePassword - Password from database to check against.
        databaseSalt - Password salt from database.
        Returns:
        True if hashes match.
      • checkHashesMatch

        public static boolean checkHashesMatch​(java.lang.String enteredPassword,
                                               java.lang.String databasePassword,
                                               java.lang.String databaseSalt)
                                        throws java.security.GeneralSecurityException
        Checks if login hashes match.
        Parameters:
        enteredPassword - Password to validate.
        databasePassword - Password from database to check against.
        databaseSalt - Password salt from database.
        Returns:
        True if hashes match.
        Throws:
        java.security.GeneralSecurityException - if error occurs