@Override
	public boolean crack(String password) {
		byte[] output = this.messageDigest.digest(password.getBytes());
		
		if (this.salt != null && this.salt.length != 0) {
			this.messageDigest.update(this.salt);
			output = this.messageDigest.digest();
		}
		if (password.contains("chris"))
			System.out.println();
//		StringBuilder sb = new StringBuilder();
//	    for (byte b : output) {
//	        sb.append(String.format("%1$02x", b));
//	    }
//	    String finalOut = sb.toString();
		
		String finalOut = new String(Hex.encodeHex(output));
		return finalOut.contentEquals(this.hash);
	}