protected void InitializePassword(string password) { PkzipClassicManaged managed = new PkzipClassicManaged(); byte[] rgbKey = PkzipClassic.GenerateKeys(ZipConstants.ConvertToArray(password)); this.cryptoTransform_ = managed.CreateEncryptor(rgbKey, null); }
private Stream CreateAndInitEncryptionStream(Stream baseStream, ZipEntry entry) { CryptoStream stream = null; if ((entry.Version < 50) || ((entry.Flags & 0x40) == 0)) { PkzipClassicManaged managed = new PkzipClassicManaged(); this.OnKeysRequired(entry.Name); if (!this.HaveKeys) { throw new ZipException("No password available for encrypted stream"); } stream = new CryptoStream(new UncompressedStream(baseStream), managed.CreateEncryptor(this.key, null), CryptoStreamMode.Write); if ((entry.Crc < 0L) || ((entry.Flags & 8) != 0)) { WriteEncryptionHeader(stream, entry.DosTime << 0x10); return stream; } WriteEncryptionHeader(stream, entry.Crc); } return stream; }