@Test
public void testCreateDerivedKeys() throws InvalidKeySpecException, NoSuchAlgorithmException, NoSuchProviderException {

	SaltedSecretKey masterKey = createDummyMasterKey();		
	CipherSpec cipherSpec = CipherSpecs.getCipherSpec(CipherSpecs.AES_128_GCM);
	
	byte[] derivedKeySalt1 = new byte[] { 1, 2, 3 };
	byte[] derivedKeySalt2 = new byte[] { 1, 2, 3, 4 };
	SaltedSecretKey derivedKey1 = CipherUtil.createDerivedKey(masterKey, derivedKeySalt1, cipherSpec);
	SaltedSecretKey derivedKey2 = CipherUtil.createDerivedKey(masterKey, derivedKeySalt2, cipherSpec);
	
	logger.log(Level.INFO, "- Derived key 1: "+StringUtil.toHex(derivedKey1.getEncoded()));
	logger.log(Level.INFO, "      with salt: "+StringUtil.toHex(derivedKey1.getSalt()));
	logger.log(Level.INFO, "- Derived key 2: "+StringUtil.toHex(derivedKey2.getEncoded()));
	logger.log(Level.INFO, "      with salt: "+StringUtil.toHex(derivedKey2.getSalt()));
	
	assertEquals(128/8, derivedKey1.getEncoded().length);
	assertEquals(128/8, derivedKey2.getEncoded().length);
	assertFalse(Arrays.equals(derivedKey1.getSalt(), derivedKey2.getSalt()));
	assertFalse(Arrays.equals(derivedKey1.getEncoded(), derivedKey2.getEncoded()));				
}