byte[] addressHash = new byte[4];
byte[] aesKey = new byte[32];
byte[] xor = new byte[32];
try
{
byte[] ac = Hash.hash (new Address (network, key.getAddress ()).toString ().getBytes ("US-ASCII"));
System.arraycopy (ac, 0, addressHash, 0, 4);
System.arraycopy (ac, 0, store, 3, 4);
byte[] derived = SCrypt.generate (passphrase.getBytes ("UTF-8"), addressHash, 16384, 8, 8, 64);
System.arraycopy (derived, 32, aesKey, 0, 32);
System.arraycopy (derived, 0, xor, 0, 32);