From 1ab1ce763347760e8297919980acc22bb8521292 Mon Sep 17 00:00:00 2001 From: ed Date: Wed, 18 Dec 2019 10:29:14 +0100 Subject: [PATCH] decrypt func added --- main.go | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/main.go b/main.go index a56a494..8c14f75 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,8 @@ import ( "crypto/rand" "fmt" "io" + "io/ioutil" + "os" ) func checkErr(err error) { @@ -33,14 +35,28 @@ func encrypt(data []byte, key []byte) []byte { return sealed } -func main() { - var passwd string = "ThisAPassphrase" - fmt.Println(passwd) - key := keyMkr(passwd) - fmt.Println(key) - data := []byte("Thi is some data") - dataSealed := encrypt(data,key) - fmt.Println(string(data)) - fmt.Println(string(dataSealed)) +func decrypt(sealed []byte, key []byte) []byte { + block, err := aes.NewCipher(key) + checkErr(err) + gcm, err := cipher.NewGCM(block) + nonceSize := gcm.NonceSize() + nonce, ctxt := sealed[:nonceSize], sealed[nonceSize:] + data, err := gcm.Open(nil, nonce, ctxt, nil) + checkErr(err) + return data +} + +func main() { + var passwd string = "ThisAnnPassphrase" + fmt.Println(passwd) + key := keyMkr(passwd) + fmt.Println(string(key)) + data := []byte("Thi is some data") + fmt.Println(string(data)) + fmt.Println("encryption:") + dataSealed := encrypt(data,key) + fmt.Println(string(dataSealed)) + fmt.Println("decryption:") + fmt.Println(string(decrypt(dataSealed,key))) }