public void digest() {
		if (password == null || challenge == null || challenge.length == 0) {
			throw new RuntimeException("Password or challenge was null (or zero size)");
		}
		try {
			MessageDigest md = MessageDigest.getInstance("sha1");
			md.reset();
			ByteBuffer bb = ByteBuffer.allocate(password.getBytes().length + challenge.length);
			bb.put(password.getBytes());
			bb.put(challenge);
			md.update(bb.array());
			setDigest(md.digest());
		} catch (NoSuchAlgorithmException e) {
			throw new RuntimeException("Could not generate digest", e);
		}
	}