org.apache.commons.codec.digest
Class Sha2Crypt

java.lang.Object
  extended by 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 <drepper@redhat.com> http://www.akkadia.org/drepper/SHA-crypt.txt

Conversion to Kotlin and from there to Java in 2012 by Christian Hammers <ch@lathspell.de> and likewise put into the Public Domain.

This class is immutable and thread-safe.

Since:
1.7
Version:
$Id: Sha2Crypt.html 889935 2013-12-11 05:05:13Z ggregory $

Constructor Summary
Sha2Crypt()
           
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Sha2Crypt

public Sha2Crypt()
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.

Throws:
RuntimeException - when a NoSuchAlgorithmException 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.

Throws:
IllegalArgumentException - if the salt does not match the allowed pattern
RuntimeException - when a NoSuchAlgorithmException 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.

Throws:
RuntimeException - when a NoSuchAlgorithmException 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.

Throws:
IllegalArgumentException - if the salt does not match the allowed pattern
RuntimeException - when a NoSuchAlgorithmException is caught.


Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.