code: public String generateSecureUri(String file, long expiryTime, String additionalParams) {
  		
  		if(null == file || file.trim().isEmpty()) {
  			throw new IllegalArgumentException("file URI/URL cannot be null or empty");
  		}
  		
  		String params = "";
  		if(null != additionalParams && !additionalParams.trim().isEmpty()) {
  			params = additionalParams;
  		}
  		
  		String passKey = secureUriMapper.getPassKey(file);
  		// use UTC time since the server does
  		long timeStamp = (expiryTime > 0) ? (new Date().getTime() + expiryTime) : expiryTime;
  		
  		// composing salt value and generate hash value
  		String salt = passKey + file + "?e=" + Long.toString(timeStamp);		
  		String hashValue = SpringExtensionsUtil.getMD5(salt);
  		
  		// generating secure link
  		String secureUri = file + "?e=" + Long.toString(timeStamp) + "&h=" + hashValue + params;
  		LOG.info("Generated Secure Link: (" + secureUri +")");
  		
  		return secureUri;
  	}
docs: {@inheritDoc}