X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2FStringUtils.java;h=efbce6af8a09027b941f3f1dc58344f5a88aef26;hb=cf77cb3542f2aefbebdb9aa00b358dbeb4489a73;hp=569b06cf3b60edf4f15587c3d9e80e2baaec81b3;hpb=ebead449cce5df1849d54796fd2515a9e0556fee;p=jvcard.git diff --git a/src/be/nikiroo/jvcard/tui/StringUtils.java b/src/be/nikiroo/jvcard/tui/StringUtils.java index 569b06c..efbce6a 100644 --- a/src/be/nikiroo/jvcard/tui/StringUtils.java +++ b/src/be/nikiroo/jvcard/tui/StringUtils.java @@ -1,5 +1,7 @@ package be.nikiroo.jvcard.tui; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.text.Normalizer; import java.text.Normalizer.Form; import java.text.ParseException; @@ -170,4 +172,35 @@ public class StringUtils { return -1; } } + + /** + * Return a hash of the given {@link String}. + * + * @param input + * the input data + * + * @return the hash + */ + static public String getHash(String input) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(input.getBytes()); + byte byteData[] = md.digest(); + + StringBuffer hexString = new StringBuffer(); + for (int i = 0; i < byteData.length; i++) { + String hex = Integer.toHexString(0xff & byteData[i]); + if (hex.length() == 1) + hexString.append('0'); + hexString.append(hex); + } + + return hexString.toString(); + } catch (NoSuchAlgorithmException e) { + // all JVM most probably have an MD5 implementation, but even if + // not, returning the input is "correct", if inefficient and + // unsecure + return input; + } + } }