gzip compression added
This commit is contained in:
parent
d84deb6a20
commit
96deb0599b
21
main.go
21
main.go
|
@ -2,6 +2,7 @@ package main
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"crypto/aes"
|
||||
"crypto/cipher"
|
||||
"crypto/md5"
|
||||
|
@ -124,6 +125,22 @@ func hdnfMatcher(buf []byte) bool {
|
|||
return len(buf) > 1 && buf[0] == 0x48 && buf[1] == 0x44 && buf[2] == 0x4e && buf[3] == 0x46
|
||||
}
|
||||
|
||||
func comp(data []byte) []byte {
|
||||
var buf bytes.Buffer
|
||||
zw := gzip.NewWriter(&buf)
|
||||
zw.Write(data)
|
||||
zw.Close()
|
||||
return buf.Bytes()
|
||||
}
|
||||
|
||||
func decomp(zipped []byte) []byte {
|
||||
var buf bytes.Buffer
|
||||
buf.Write(zipped)
|
||||
zr, _ := gzip.NewReader(&buf)
|
||||
decomp, _ := ioutil.ReadAll(zr)
|
||||
return decomp
|
||||
}
|
||||
|
||||
func main() {
|
||||
FileName = readFn()
|
||||
filetype.AddMatcher(hdnfType, hdnfMatcher)
|
||||
|
@ -137,12 +154,12 @@ func main() {
|
|||
key := keyMkr(pw)
|
||||
secret := headerRemove(buf)
|
||||
datafn := strings.TrimRight(fn,".hdn")
|
||||
data := decrypt(secret, key)
|
||||
data := decrypt(decomp(secret), key)
|
||||
data2file(datafn, data)
|
||||
} else {
|
||||
pw := checkPass()
|
||||
key := keyMkr(pw)
|
||||
secret := headerAdd(encrypt(buf,key))
|
||||
secret := headerAdd(encrypt(comp(buf),key))
|
||||
secretfn := fn + ".hdn"
|
||||
clearfn := fn + ".origin"
|
||||
err := os.Rename(fn,clearfn)
|
||||
|
|
Loading…
Reference in New Issue