本文整理了Java中net.lingala.zip4j.crypto.engine.ZipCryptoEngine
类的一些代码示例,展示了ZipCryptoEngine
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZipCryptoEngine
类的具体详情如下:
包路径:net.lingala.zip4j.crypto.engine.ZipCryptoEngine
类名称:ZipCryptoEngine
暂无
代码示例来源:origin: net.lingala.zip4j/zip4j
public void updateKeys(byte charAt) {
keys[0] = crc32(keys[0], charAt);
keys[1] += keys[0] & 0xff;
keys[1] = keys[1] * 134775813 + 1;
keys[2] = crc32(keys[2], (byte) (keys[1] >> 24));
}
代码示例来源:origin: net.lingala.zip4j/zip4j
protected byte encryptByte(byte val) {
byte temp_val = (byte) (val ^ zipCryptoEngine.decryptByte() & 0xff);
zipCryptoEngine.updateKeys(val);
return temp_val;
}
代码示例来源:origin: net.lingala.zip4j/zip4j
zipCryptoEngine.initKeys(fileHeader.getPassword());
zipCryptoEngine.updateKeys((byte) (result ^ zipCryptoEngine.decryptByte()));
if (i+1 != InternalZipConstants.STD_DEC_HDR_SIZE)
result = headerBytes[i+1];
代码示例来源:origin: net.lingala.zip4j/zip4j
public StandardEncrypter(char[] password, int crc) throws ZipException {
if (password == null || password.length <= 0) {
throw new ZipException("input password is null or empty in standard encrpyter constructor");
}
this.zipCryptoEngine = new ZipCryptoEngine();
this.headerBytes = new byte[InternalZipConstants.STD_DEC_HDR_SIZE];
init(password, crc);
}
代码示例来源:origin: net.lingala.zip4j/zip4j
public void initKeys(char[] password) {
keys[0] = 305419896;
keys[1] = 591751049;
keys[2] = 878082192;
for (int i = 0; i < password.length; i++) {
updateKeys((byte) (password[i] & 0xff));
}
}
代码示例来源:origin: net.lingala.zip4j/zip4j
private void init(char[] password, int crc) throws ZipException {
if (password == null || password.length <= 0) {
throw new ZipException("input password is null or empty, cannot initialize standard encrypter");
}
zipCryptoEngine.initKeys(password);
headerBytes = generateRandomBytes(InternalZipConstants.STD_DEC_HDR_SIZE);
// Initialize again since the generated bytes were encrypted.
zipCryptoEngine.initKeys(password);
headerBytes[InternalZipConstants.STD_DEC_HDR_SIZE - 1] = (byte)((crc >>> 24));
headerBytes[InternalZipConstants.STD_DEC_HDR_SIZE - 2] = (byte)((crc >>> 16));
if (headerBytes.length < InternalZipConstants.STD_DEC_HDR_SIZE) {
throw new ZipException("invalid header bytes generated, cannot perform standard encryption");
}
encryptData(headerBytes);
}
代码示例来源:origin: com.github.axet/zip4j
zipCryptoEngine.initKeys(fileHeader.getPassword());
zipCryptoEngine.updateKeys((byte) (result ^ zipCryptoEngine.decryptByte()));
if (i+1 != InternalZipConstants.STD_DEC_HDR_SIZE)
result = headerBytes[i+1];
代码示例来源:origin: com.github.axet/zip4j
public StandardEncrypter(char[] password, int crc) throws ZipException {
if (password == null || password.length <= 0) {
throw new ZipException("input password is null or empty in standard encrpyter constructor");
}
this.zipCryptoEngine = new ZipCryptoEngine();
this.headerBytes = new byte[InternalZipConstants.STD_DEC_HDR_SIZE];
init(password, crc);
}
代码示例来源:origin: com.github.axet/zip4j
public void initKeys(char[] password) {
keys[0] = 305419896;
keys[1] = 591751049;
keys[2] = 878082192;
for (int i = 0; i < password.length; i++) {
updateKeys((byte) (password[i] & 0xff));
}
}
代码示例来源:origin: com.github.axet/zip4j
private void init(char[] password, int crc) throws ZipException {
if (password == null || password.length <= 0) {
throw new ZipException("input password is null or empty, cannot initialize standard encrypter");
}
zipCryptoEngine.initKeys(password);
headerBytes = generateRandomBytes(InternalZipConstants.STD_DEC_HDR_SIZE);
// Initialize again since the generated bytes were encrypted.
zipCryptoEngine.initKeys(password);
headerBytes[InternalZipConstants.STD_DEC_HDR_SIZE - 1] = (byte)((crc >>> 24));
headerBytes[InternalZipConstants.STD_DEC_HDR_SIZE - 2] = (byte)((crc >>> 16));
if (headerBytes.length < InternalZipConstants.STD_DEC_HDR_SIZE) {
throw new ZipException("invalid header bytes generated, cannot perform standard encryption");
}
encryptData(headerBytes);
}
代码示例来源:origin: com.github.axet/zip4j
protected byte encryptByte(byte val) {
byte temp_val = (byte) (val ^ zipCryptoEngine.decryptByte() & 0xff);
zipCryptoEngine.updateKeys(val);
return temp_val;
}
代码示例来源:origin: net.lingala.zip4j/zip4j
public StandardDecrypter(FileHeader fileHeader, byte[] headerBytes) throws ZipException{
if (fileHeader == null) {
throw new ZipException("one of more of the input parameters were null in StandardDecryptor");
}
this.fileHeader = fileHeader;
this.zipCryptoEngine = new ZipCryptoEngine();
init(headerBytes);
}
代码示例来源:origin: com.github.axet/zip4j
public void updateKeys(byte charAt) {
keys[0] = crc32(keys[0], charAt);
keys[1] += keys[0] & 0xff;
keys[1] = keys[1] * 134775813 + 1;
keys[2] = crc32(keys[2], (byte) (keys[1] >> 24));
}
代码示例来源:origin: net.lingala.zip4j/zip4j
public int decryptData(byte[] buff, int start, int len) throws ZipException {
if (start < 0 || len < 0) {
throw new ZipException("one of the input parameters were null in standard decrpyt data");
}
try {
for (int i = start; i < start + len; i++) {
int val = buff[i] & 0xff;
val = (val ^ zipCryptoEngine.decryptByte()) & 0xff;
zipCryptoEngine.updateKeys((byte) val);
buff[i] = (byte)val;
}
return len;
} catch (Exception e) {
throw new ZipException(e);
}
}
代码示例来源:origin: com.github.axet/zip4j
public StandardDecrypter(FileHeader fileHeader, byte[] headerBytes) throws ZipException{
if (fileHeader == null) {
throw new ZipException("one of more of the input parameters were null in StandardDecryptor");
}
this.fileHeader = fileHeader;
this.zipCryptoEngine = new ZipCryptoEngine();
init(headerBytes);
}
代码示例来源:origin: com.github.axet/zip4j
public int decryptData(byte[] buff, int start, int len) throws ZipException {
if (start < 0 || len < 0) {
throw new ZipException("one of the input parameters were null in standard decrpyt data");
}
try {
for (int i = start; i < start + len; i++) {
int val = buff[i] & 0xff;
val = (val ^ zipCryptoEngine.decryptByte()) & 0xff;
zipCryptoEngine.updateKeys((byte) val);
buff[i] = (byte)val;
}
return len;
} catch (Exception e) {
throw new ZipException(e);
}
}
内容来源于网络,如有侵权,请联系作者删除!