public static String getMessageDigestForUrl(String fileUrl)
			throws FileNotFoundException, IOException {
		String messageDigest = null;
		if (fileUrl != null && !fileUrl.isEmpty()) {
			try {
				InputStream fis = new URL(fileUrl).openStream();
				MessageDigest md5 = MessageDigest.getInstance("SHA");
				byte[] bytes = new byte[1024];
				int read = 0;
				while ((read = fis.read(bytes)) != -1) {
					md5.update(bytes, 0, read);
				}
				byte[] digestBytes = md5.digest();
				StringBuffer sb = new StringBuffer();
				for (int i = 0; i < digestBytes.length; i++) {
					sb.append(Integer.toString((digestBytes[i] & 0xff) + 0x100,
							16).substring(1));
				}
				if (log.isDebugEnabled()) {
					log.debug("For Url - Digest(in hex format):: "
							+ sb.toString());
				}
				messageDigest = sb.toString();
			} catch (NoSuchAlgorithmException e) {
				e.printStackTrace();
			} catch (FileNotFoundException fne) {
				fne.printStackTrace();
				throw new FileNotFoundException(
						"The SpecifiedImage is Not Found " + fne.getMessage());
			} catch (MalformedURLException mfe) {
				throw new MalformedURLException("The MalformedURLException is "
						+ mfe.getMessage());
			} catch (IOException ioe) {
				ioe.printStackTrace();
				throw new IOException("The IO Exception  is "
						+ ioe.getMessage());
			}
		} else {
			messageDigest = "";
		}
		return messageDigest;
	}