package peergos.shared.user.fs;
import peergos.shared.crypto.symmetric.SymmetricKey;
import java.util.*;
public class Chunk {
public static final int MAX_SIZE = 5 * 1024 * 1024;
private final SymmetricKey dataKey;
private final byte[] data, mapKey;
private final byte[] nonce;
public Chunk(byte[] data, SymmetricKey dataKey, byte[] mapKey, byte[] nonce) {
this.data = data;
this.dataKey = dataKey;
this.mapKey = mapKey;
this.nonce = nonce;
}
public EncryptedChunk encrypt() {
return new EncryptedChunk(dataKey.encrypt(data, nonce));
}
public SymmetricKey key() {
return dataKey;
}
public byte[] mapKey() {
return Arrays.copyOfRange(mapKey, 0, mapKey.length);
}
public byte[] nonce() {
return Arrays.copyOfRange(nonce, 0, nonce.length);
}
public byte[] data() {
return Arrays.copyOfRange(data, 0, data.length);
}
}