HDNF header added

This commit is contained in:
ed 2019-12-18 22:08:50 +01:00
parent 0f63ceedbe
commit f8e4bbfe64
1 changed files with 20 additions and 8 deletions

28
main.go
View File

@ -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)