From 50cb427377bf849c7b890a78e92ba6403bea4b6b Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Mon, 15 Oct 2012 13:57:09 +0000 Subject: [PATCH] split out md5Sum for use in i2ptunnel --- .../src/net/i2p/util/PasswordManager.java | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/core/java/src/net/i2p/util/PasswordManager.java b/core/java/src/net/i2p/util/PasswordManager.java index 9e0a2ffaeb..83176f7ccf 100644 --- a/core/java/src/net/i2p/util/PasswordManager.java +++ b/core/java/src/net/i2p/util/PasswordManager.java @@ -161,14 +161,28 @@ public class PasswordManager { */ public static String md5Hex(String subrealm, String user, String pw) { String fullpw = user + ':' + subrealm + ':' + pw; + try { + byte[] data = fullpw.getBytes("ISO-8859-1"); + byte[] sum = md5Sum(data); + if (sum != null) + // adds leading zeros if necessary + return DataHelper.toString(sum); + } catch (UnsupportedEncodingException uee) {} + return null; + } + + /** + * Standard MD5 checksum + * + * @param data non-null + * @return 16 bytes, or null on error + */ + public static byte[] md5Sum(byte[] data) { try { MessageDigest md = MessageDigest.getInstance("MD5"); - md.update(fullpw.getBytes("ISO-8859-1")); - // adds leading zeros if necessary - return DataHelper.toString(md.digest()); - } catch (UnsupportedEncodingException uee) { - } catch (NoSuchAlgorithmException nsae) { - } + md.update(data); + return md.digest(); + } catch (NoSuchAlgorithmException nsae) {} return null; } } -- GitLab