diff options
Diffstat (limited to 'src/interfaces/jdbc/org/postgresql/util/MD5Digest.java')
| -rw-r--r-- | src/interfaces/jdbc/org/postgresql/util/MD5Digest.java | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java b/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java deleted file mode 100644 index 86d3b344db..0000000000 --- a/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java +++ /dev/null @@ -1,90 +0,0 @@ -/*------------------------------------------------------------------------- - * - * MD5Digest.java - * MD5-based utility function to obfuscate passwords before network - * transmission - * - * Copyright (c) 2003, PostgreSQL Global Development Group - * - * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java,v 1.6 2003/11/29 19:52:11 pgsql Exp $ - * - *------------------------------------------------------------------------- - */ -package org.postgresql.util; - -/* - * @author Jeremy Wohl - */ - -import java.security.*; - -public class MD5Digest -{ - private MD5Digest() - {} - - - /* - * Encodes user/password/salt information in the following way: - * MD5(MD5(password + user) + salt) - * - * @param user The connecting user. - * @param password The connecting user's password. - * @param salt A four-salt sent by the server. - * - * @return A 35-byte array, comprising the string "md5" and an MD5 digest. - */ - public static byte[] encode(String user, String password, byte []salt) - { - MessageDigest md; - byte[] temp_digest, pass_digest; - byte[] hex_digest = new byte[35]; - - try - { - md = MessageDigest.getInstance("MD5"); - - md.update(password.getBytes()); - md.update(user.getBytes()); - temp_digest = md.digest(); - - bytesToHex(temp_digest, hex_digest, 0); - md.update(hex_digest, 0, 32); - md.update(salt); - pass_digest = md.digest(); - - bytesToHex(pass_digest, hex_digest, 3); - hex_digest[0] = (byte) 'm'; - hex_digest[1] = (byte) 'd'; - hex_digest[2] = (byte) '5'; - } - catch (Exception e) - { - ; // "MessageDigest failure; " + e - } - - return hex_digest; - } - - - /* - * Turn 16-byte stream into a human-readable 32-byte hex string - */ - private static void bytesToHex(byte[] bytes, byte[] hex, int offset) - { - final char lookup[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - 'a', 'b', 'c', 'd', 'e', 'f' }; - - int i, c, j, pos = offset; - - for (i = 0; i < 16; i++) - { - c = bytes[i] & 0xFF; - j = c >> 4; - hex[pos++] = (byte) lookup[j]; - j = (c & 0xF); - hex[pos++] = (byte) lookup[j]; - } - } -} |
