@Override
	public boolean equals(Object o) {
		if (o == this) {
			return true;
		} else if (!(o instanceof Hash)) {
			return false;
		} else {
			Hash h = (Hash) o;
			if (hash != h.hash) {
				return false;
			}
			if (data.length != h.data.length) {
				return false;
			}
			for (int i = 0; i < data.length; i++) {
				if (data[i] != h.data[i]) {
					return false;
				}
			}
			return true;
		}
	}