
ee.sk.smartid.AuthenticationHash Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of smart-id-java-client Show documentation
Show all versions of smart-id-java-client Show documentation
Smart-ID Java client is a Java library that can be used for easy integration of the Smart-ID solution to information systems or e-services
package ee.sk.smartid;
import java.security.SecureRandom;
/**
* Class containing the hash and its hash type used for authentication
*/
public class AuthenticationHash extends SignableHash {
/**
* creates {@link AuthenticationHash} instance
* containing a randomly generated hash
* of the chosen hash type
*
* @param hashType hash type of the randomly generated hash
* @return authentication hash
*/
public static AuthenticationHash generateRandomHash(HashType hashType) {
AuthenticationHash authenticationHash = new AuthenticationHash();
byte[] generatedDigest = DigestCalculator.calculateDigest(getRandomBytes(), hashType);
authenticationHash.setHash(generatedDigest);
authenticationHash.setHashType(hashType);
return authenticationHash;
}
/**
* creates {@link AuthenticationHash} instance
* containing a randomly generated SHA-512 hash
*
* @return authentication hash
*/
public static AuthenticationHash generateRandomHash() {
return generateRandomHash(HashType.SHA512);
}
private static byte[] getRandomBytes() {
byte randBytes[] = new byte[64];
new SecureRandom().nextBytes(randBytes);
return randBytes;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy