Removed standalone MD5Encoder implementation and replaced usage of it with Apache Commons Codec.
This commit is contained in:
parent
5abe737912
commit
37307708fd
4 changed files with 9 additions and 111 deletions
|
@ -865,7 +865,7 @@ public final class ResponseTrans extends Writer implements Serializable {
|
||||||
if (what == null) {
|
if (what == null) {
|
||||||
digest.update(new byte[0]);
|
digest.update(new byte[0]);
|
||||||
} else if (what instanceof Date) {
|
} else if (what instanceof Date) {
|
||||||
digest.update(MD5Encoder.toBytes(((Date) what).getTime()));
|
digest.update(Long.toBinaryString(((Date) what).getTime()).getBytes());
|
||||||
} else if (what instanceof byte[]) {
|
} else if (what instanceof byte[]) {
|
||||||
digest.update((byte[]) what);
|
digest.update((byte[]) what);
|
||||||
} else {
|
} else {
|
||||||
|
@ -889,7 +889,7 @@ public final class ResponseTrans extends Writer implements Serializable {
|
||||||
|
|
||||||
// add the application checksum as dependency to make ETag
|
// add the application checksum as dependency to make ETag
|
||||||
// generation sensitive to changes in the app
|
// generation sensitive to changes in the app
|
||||||
byte[] b = digest.digest(MD5Encoder.toBytes(app.getChecksum()));
|
byte[] b = digest.digest(Long.toBinaryString((this.app.getChecksum())).getBytes());
|
||||||
|
|
||||||
setETag(new String(Base64.encodeBase64(b)));
|
setETag(new String(Base64.encodeBase64(b)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,8 @@ package helma.util;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This file authenticates against a passwd file
|
* This file authenticates against a passwd file
|
||||||
*/
|
*/
|
||||||
|
@ -68,7 +70,7 @@ public class CryptFile {
|
||||||
}
|
}
|
||||||
|
|
||||||
// then try MD5
|
// then try MD5
|
||||||
if (realpw.equals(MD5Encoder.encode(pw))) {
|
if (realpw.equals(DigestUtils.md5(pw))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
|
|
|
@ -20,6 +20,9 @@ import java.io.BufferedReader;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
|
|
||||||
import helma.framework.repository.Resource;
|
import helma.framework.repository.Resource;
|
||||||
import helma.framework.repository.Resource;
|
import helma.framework.repository.Resource;
|
||||||
|
|
||||||
|
@ -73,7 +76,7 @@ public class CryptResource {
|
||||||
}
|
}
|
||||||
|
|
||||||
// then try MD5
|
// then try MD5
|
||||||
if (realpw.equals(MD5Encoder.encode(pw))) {
|
if (realpw.equals(DigestUtils.md5(pw))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
|
|
|
@ -1,107 +0,0 @@
|
||||||
/*
|
|
||||||
* Helma License Notice
|
|
||||||
*
|
|
||||||
* The contents of this file are subject to the Helma License
|
|
||||||
* Version 2.0 (the "License"). You may not use this file except in
|
|
||||||
* compliance with the License. A copy of the License is available at
|
|
||||||
* http://adele.helma.org/download/helma/license.txt
|
|
||||||
*
|
|
||||||
* Copyright 1998-2003 Helma Software. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* $RCSfile$
|
|
||||||
* $Author$
|
|
||||||
* $Revision$
|
|
||||||
* $Date$
|
|
||||||
*/
|
|
||||||
|
|
||||||
package helma.util;
|
|
||||||
|
|
||||||
import java.security.MessageDigest;
|
|
||||||
import java.security.NoSuchAlgorithmException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class MD5Encoder {
|
|
||||||
private static MessageDigest md;
|
|
||||||
|
|
||||||
/** used by commandline script to create admin username & password */
|
|
||||||
public static void main(String[] args) throws Exception {
|
|
||||||
if (args.length < 2) {
|
|
||||||
System.out.println("\n\nUsage: helma.util.MD5Encoder <username> <password>");
|
|
||||||
System.out.println("Output:");
|
|
||||||
System.out.println("adminUsername=<encoded username>");
|
|
||||||
System.out.println("adminPassword=<encoded password>\n");
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("adminUsername=" + encode(args[0]));
|
|
||||||
System.out.println("adminPassword=" + encode(args[1]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @param str ...
|
|
||||||
*
|
|
||||||
* @return ...
|
|
||||||
*
|
|
||||||
* @throws NoSuchAlgorithmException ...
|
|
||||||
*/
|
|
||||||
public static String encode(String str) throws NoSuchAlgorithmException {
|
|
||||||
return encode(str.getBytes());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @param message ...
|
|
||||||
*
|
|
||||||
* @return ...
|
|
||||||
*
|
|
||||||
* @throws NoSuchAlgorithmException ...
|
|
||||||
*/
|
|
||||||
public static String encode(byte[] message) throws NoSuchAlgorithmException {
|
|
||||||
md = MessageDigest.getInstance("MD5");
|
|
||||||
|
|
||||||
byte[] b = md.digest(message);
|
|
||||||
StringBuffer buf = new StringBuffer(b.length * 2);
|
|
||||||
|
|
||||||
for (int i = 0; i < b.length; i++) {
|
|
||||||
int j = (b[i] < 0) ? (256 + b[i]) : b[i];
|
|
||||||
|
|
||||||
if (j < 16) {
|
|
||||||
buf.append("0");
|
|
||||||
}
|
|
||||||
|
|
||||||
buf.append(Integer.toHexString(j));
|
|
||||||
}
|
|
||||||
|
|
||||||
return buf.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert a long to a byte array.
|
|
||||||
*/
|
|
||||||
public static byte[] toBytes(long n) {
|
|
||||||
byte[] b = new byte[8];
|
|
||||||
|
|
||||||
b[0] = (byte) (n);
|
|
||||||
n >>>= 8;
|
|
||||||
b[1] = (byte) (n);
|
|
||||||
n >>>= 8;
|
|
||||||
b[2] = (byte) (n);
|
|
||||||
n >>>= 8;
|
|
||||||
b[3] = (byte) (n);
|
|
||||||
n >>>= 8;
|
|
||||||
b[4] = (byte) (n);
|
|
||||||
n >>>= 8;
|
|
||||||
b[5] = (byte) (n);
|
|
||||||
n >>>= 8;
|
|
||||||
b[6] = (byte) (n);
|
|
||||||
n >>>= 8;
|
|
||||||
b[7] = (byte) (n);
|
|
||||||
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue