Skip to content

Commit 790e8f4

Browse files
committed
Export SetEncryptionMethod.
Allows creation of own header. For example UTF-8 file names by setting bit 11 on header.
1 parent c5fb195 commit 790e8f4

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

crypto.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ func encryptStream(key []byte, w io.Writer) (io.Writer, error) {
388388
// data. The authcode will be written out in fileWriter.close().
389389
func newEncryptionWriter(w io.Writer, password passwordFn, fw *fileWriter, aesstrength byte) (io.Writer, error) {
390390
keysize := aesKeyLen(aesstrength)
391-
salt := make([]byte, keysize / 2)
391+
salt := make([]byte, keysize/2)
392392
_, err := rand.Read(salt[:])
393393
if err != nil {
394394
return nil, errors.New("zip: unable to generate random salt")
@@ -437,7 +437,8 @@ func (h *FileHeader) writeWinZipExtra() {
437437
h.Extra = append(h.Extra, buf[:]...)
438438
}
439439

440-
func (h *FileHeader) setEncryptionMethod(enc EncryptionMethod) {
440+
// SetEncryptionMethod sets the encryption method.
441+
func (h *FileHeader) SetEncryptionMethod(enc EncryptionMethod) {
441442
h.encryption = enc
442443
switch enc {
443444
case AES128Encryption:
@@ -478,6 +479,6 @@ func (w *Writer) Encrypt(name string, password string, enc EncryptionMethod) (io
478479
Method: Deflate,
479480
}
480481
fh.SetPassword(password)
481-
fh.setEncryptionMethod(enc)
482+
fh.SetEncryptionMethod(enc)
482483
return w.CreateHeader(fh)
483484
}

0 commit comments

Comments
 (0)