From f8e4bbfe64c03f1ce2f2eb1410c2dc340b310f6b Mon Sep 17 00:00:00 2001 From: ed Date: Wed, 18 Dec 2019 22:08:50 +0100 Subject: [PATCH] HDNF header added --- main.go | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index 132b14b..a41934d 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "bytes" "crypto/aes" "crypto/cipher" "crypto/md5" @@ -12,12 +13,13 @@ import ( "regexp" "strings" "syscall" - "github.com/h2non/filetype" +// "github.com/h2non/filetype" "golang.org/x/crypto/ssh/terminal" ) -var debug bool = false +var debug bool = true var FileName string +var HDNFhead []byte = []byte("HDNF") func checkErr(err error) { if err != nil { @@ -127,21 +129,30 @@ func checkPass() string { return pw } +func headerAdd(data []byte) []byte { + return bytes.Join([][]byte{HDNFhead,data},nil) +} + +func headerRemove(data []byte) []byte { + return bytes.TrimPrefix(data,HDNFhead) +} + func main() { FileName = readFn() fn := FileName fmt.Println(fn) - data := file2data(fn) - fType, _ := filetype.Get(data) - fmt.Println(fType.Extension) - os.Exit(0) + //data := file2data(fn) + //fType, _ := filetype.Get(data) + //fmt.Println(fType.Extension) + //os.Exit(0) mode := getMode() switch mode { case "h": pw := checkPass() key := keyMkr(pw) data := file2data(fn) - secret := encrypt(data,key) + secret := headerAdd(encrypt(data,key)) + //secret = headerAdd(secret) secretfn := fn + ".hdn" clearfn := fn + ".origin" err := os.Rename(fn,clearfn) @@ -153,7 +164,8 @@ func main() { pw := readPass() fmt.Print("\n") key := keyMkr(pw) - secret := file2data(fn) + secret := headerRemove(file2data(fn)) + //secret := file2data(fn) datafn := strings.TrimRight(fn,".hdn") data := decrypt(secret, key) data2file(datafn, data)