Index: src/plugin/parse-mp3/src/test/org/apache/nutch/parse/mp3/TestMP3Parser.java
===================================================================
--- src/plugin/parse-mp3/src/test/org/apache/nutch/parse/mp3/TestMP3Parser.java	(revision 429195)
+++ src/plugin/parse-mp3/src/test/org/apache/nutch/parse/mp3/TestMP3Parser.java	(working copy)
@@ -136,4 +136,17 @@
     }
   }
 
+  public void testHash () {
+    Configuration conf = NutchConfiguration.create();
+    urlString = "file:" + sampleDir + fileSeparator + id3v2;
+    protocol = new ProtocolFactory(conf).getProtocol(urlString);
+    content = protocol.getProtocolOutput(new UTF8(urlString), new CrawlDatum())
+                      .getContent();
+    parse = new ParseUtil(conf).parseByExtensionId("parse-mp3", content);
+    Metadata metadata = parse.getData().getParseMeta();
+    String commandlineHash = "627787a48bd0ae100ac440b30f542ea398db67d2";
+    assertEquals (commandlineHash.getBytes(), metadata.getHash());
+  }
+
+
 }
Index: src/plugin/parse-mp3/src/java/org/apache/nutch/parse/mp3/MetadataCollector.java
===================================================================
--- src/plugin/parse-mp3/src/java/org/apache/nutch/parse/mp3/MetadataCollector.java	(revision 429195)
+++ src/plugin/parse-mp3/src/java/org/apache/nutch/parse/mp3/MetadataCollector.java	(working copy)
@@ -33,6 +33,7 @@
   private String title = null;
   private String artist = null;
   private String album = null;
+  private byte[] hash = null;
   private ArrayList links = new ArrayList();
   private String text = "";
   private Configuration conf;
@@ -51,6 +52,19 @@
 
     if (name.indexOf("URL Link") > -1) {
       links.add(new Outlink(value, "", this.conf));
+      try {
+	MessageDigest sha1 = MessageDigest.getInstance("SHA1");
+	HttpURLConnection connection = new URL (links.get(0)).openConnection();
+	BufferedReader reader= new BufferedReader(connection.getInputStream());
+	StringBuffer buffer = new StringBuffer();
+	while (String line != null) {
+		buffer.append(line);
+	}
+	sha1.update(buffer.toString().getBytes());
+	byte[] key = links.get(0).toString().getBytes();
+	setHash(sha1.digest(key));
+      } catch (NoSuchAlgorithmException e) { 
+      } 
     } else if (name.indexOf("Text") > -1) {
       text += value + "\n";
     }
@@ -100,6 +114,11 @@
     this.album = album;
   }
 
+  public void setHash(byte[] hash) {
+    this.hash = hash;
+  }
+
+  public byte[] getHash() { return this.hash; }
   public String getText() {
     return text;
   }
