From 98402dd45b00235f8b3a4c4a742b132d89c4bebf Mon Sep 17 00:00:00 2001 From: Wiewiogr Date: Sat, 27 Oct 2018 17:21:12 +0200 Subject: [PATCH] Added SecretKeyGenerator class --- .../server/crypto/SecretKeyGenerator.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Server/src/main/java/net/simon987/server/crypto/SecretKeyGenerator.java diff --git a/Server/src/main/java/net/simon987/server/crypto/SecretKeyGenerator.java b/Server/src/main/java/net/simon987/server/crypto/SecretKeyGenerator.java new file mode 100644 index 0000000..a40dd27 --- /dev/null +++ b/Server/src/main/java/net/simon987/server/crypto/SecretKeyGenerator.java @@ -0,0 +1,27 @@ +package net.simon987.server.crypto; + +import javax.crypto.KeyGenerator; +import javax.crypto.SecretKey; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.Base64; + +public class SecretKeyGenerator { + + private static final String KEY_GENERATION_ALGORITHM = "HmacSHA1"; + private KeyGenerator keyGen; + + public SecretKeyGenerator() { + try { + keyGen = KeyGenerator.getInstance(KEY_GENERATION_ALGORITHM); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("Error creating Key generator", e); + } + keyGen.init(new SecureRandom(SecureRandom.getSeed(32))); + } + + public String generate() { + SecretKey secretKey = keyGen.generateKey(); + return Base64.getEncoder().encodeToString(secretKey.getEncoded()); + } +}