org.sentrysoftware.metricshub.engine.common.helpers.JUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of metricshub-engine Show documentation
Show all versions of metricshub-engine Show documentation
MetricsHub Monitoring Engine
The newest version!
package org.sentrysoftware.metricshub.engine.common.helpers;
/*-
* ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲
* MetricsHub Engine
* ჻჻჻჻჻჻
* Copyright 2023 - 2024 Sentry Software
* ჻჻჻჻჻჻
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
* ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱
*/
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* Utility class for various Java-related operations.
*/
@Slf4j
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class JUtils {
/**
* Encodes the input string using the SHA-256 algorithm and returns the result in hexadecimal format.
*
* @param input String to convert
* @return the encoded string in hex
*/
public static String encodeSha256(final String input) {
if (input == null) {
return null;
}
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(input.getBytes(StandardCharsets.UTF_8));
byte[] digest = md.digest();
return String.format("%064x", new BigInteger(1, digest));
} catch (NoSuchAlgorithmException e) {
log.error("Error while encoding SHA-256: {}", e.getMessage());
return null;
}
}
}