From d71919b47ba94ee3192d221c18a53f8d0dbec415 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Sat, 19 Apr 2014 16:28:36 +0200 Subject: Add doc-comments to ApiServer and Hash, some TODO comments --- .../java/org/openslx/imagemaster/util/Hash.java | 71 ++++++++++++++-------- 1 file changed, 45 insertions(+), 26 deletions(-) (limited to 'src/main/java/org/openslx/imagemaster/util') diff --git a/src/main/java/org/openslx/imagemaster/util/Hash.java b/src/main/java/org/openslx/imagemaster/util/Hash.java index 8ac0e5f..24eb595 100644 --- a/src/main/java/org/openslx/imagemaster/util/Hash.java +++ b/src/main/java/org/openslx/imagemaster/util/Hash.java @@ -6,7 +6,9 @@ import java.security.NoSuchAlgorithmException; public class Hash { - // Cache of md5 digesters + /** + * Cache of md5 digesters + */ private static final ThreadLocal md5hash = new ThreadLocal() { @Override public MessageDigest initialValue() @@ -20,7 +22,9 @@ public class Hash } } }; - // Cache of sha256 digesters + /** + * Cache of sha256 digesters + */ private static final ThreadLocal sha256hash = new ThreadLocal() { @Override public MessageDigest initialValue() @@ -34,32 +38,35 @@ public class Hash } } }; - // Cache of sha512 digesters - private static final ThreadLocal sha512hash = new ThreadLocal() { - @Override - public MessageDigest initialValue() - { - try { - return MessageDigest.getInstance( "SHA-512" ); - } catch ( NoSuchAlgorithmException e ) { - e.printStackTrace(); - System.exit(1); - return null; - } - } - }; - // For converting to hex string + /** + * For converting to hex string + */ private static final char[] HEX_CHARS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; - // Constant + /** + * Constant for the utf-8 charset, saves repeated lookups + */ private static final Charset UTF8 = Charset.forName( "UTF-8" ); // MD5 + /** + * Compute md5 hash of given binary data. + * + * @param bytes the binary data in a byte array + * @return hex representation of the 128bit md5 hash + */ public static String md5( final byte[] bytes ) { return toHexString( md5hash.get().digest( bytes ) ); } + /** + * Compute md5 hash of the given string. + * The string will be converted to utf-8 before computation. + * + * @param text the text to hash + * @return hex representation of the 128bit md5 hash + */ public static String md5( final String text ) { return md5( text.getBytes( UTF8 )); @@ -67,25 +74,37 @@ public class Hash // SHA-256 + /** + * Compute sha256 hash of given binary data. + * + * @param bytes the binary data in a byte array + * @return hex representation of the 256bit sha256 hash + */ public static String sha256( final byte[] bytes ) { return toHexString( sha256hash.get().digest( bytes ) ); } - + + /** + * Compute sha256 hash of the given string. + * The string will be converted to utf-8 before computation. + * + * @param text the text to hash + * @return hex representation of the 256bit sha256 hash + */ public static String sha256( final String text ) { return sha256( text.getBytes( UTF8 )); } - // SHA-512 - - public static MessageDigest getSha512Digest() - { - return sha512hash.get(); - } - // Helper + /** + * Convert given binary data to hex. + * + * @param bytes binary data in a byte array + * @return upper case hex representation of bytes + */ private static String toHexString( final byte[] bytes ) { final char[] hexChars = new char[bytes.length * 2]; -- cgit v1.2.3-55-g7522