org.apache.commons.codec.digest
Class Sha2Crypt
- java.lang.Object
- org.apache.commons.codec.digest.Sha2Crypt
public class Sha2Crypt extends Object
SHA2-based Unix crypt implementation.Based on the C implementation released into the Public Domain by Ulrich Drepper <[email protected]> http://www.akkadia.org/drepper/SHA-crypt.txt
Conversion to Kotlin and from there to Java in 2012 by Christian Hammers <[email protected]> and likewise put into the Public Domain.
This class is immutable and thread-safe.
- Since:
- 1.7
- Version:
- $Id: Sha2Crypt.java 1552696 2013-12-20 15:01:34Z ggregory $
Constructor Summary
Constructors Constructor and Description Sha2Crypt()
Method Summary
Methods Modifier and Type Method and Description static String
sha256Crypt(byte[] keyBytes)
Generates a libc crypt() compatible "$5$" hash value with random salt.static String
sha256Crypt(byte[] keyBytes, String salt)
Generates a libc6 crypt() compatible "$5$" hash value.static String
sha512Crypt(byte[] keyBytes)
Generates a libc crypt() compatible "$6$" hash value with random salt.static String
sha512Crypt(byte[] keyBytes, String salt)
Generates a libc6 crypt() compatible "$6$" hash value.
Method Detail
sha256Crypt
public static String sha256Crypt(byte[] keyBytes)
Generates a libc crypt() compatible "$5$" hash value with random salt.See
Crypt.crypt(String, String)
for details.- Parameters:
keyBytes
- plaintext to hash- Returns:
- complete hash value
- Throws:
RuntimeException
- when aNoSuchAlgorithmException
is caught.
sha256Crypt
public static String sha256Crypt(byte[] keyBytes, String salt)
Generates a libc6 crypt() compatible "$5$" hash value.See
Crypt.crypt(String, String)
for details.- Parameters:
keyBytes
- plaintext to hashsalt
- real salt value without prefix or "rounds="- Returns:
- complete hash value including salt
- Throws:
IllegalArgumentException
- if the salt does not match the allowed patternRuntimeException
- when aNoSuchAlgorithmException
is caught.
sha512Crypt
public static String sha512Crypt(byte[] keyBytes)
Generates a libc crypt() compatible "$6$" hash value with random salt.See
Crypt.crypt(String, String)
for details.- Parameters:
keyBytes
- plaintext to hash- Returns:
- complete hash value
- Throws:
RuntimeException
- when aNoSuchAlgorithmException
is caught.
sha512Crypt
public static String sha512Crypt(byte[] keyBytes, String salt)
Generates a libc6 crypt() compatible "$6$" hash value.See
Crypt.crypt(String, String)
for details.- Parameters:
keyBytes
- plaintext to hashsalt
- real salt value without prefix or "rounds="- Returns:
- complete hash value including salt
- Throws:
IllegalArgumentException
- if the salt does not match the allowed patternRuntimeException
- when aNoSuchAlgorithmException
is caught.
Copyright © 2002–2013 The Apache Software Foundation. All rights reserved.