Если вы зашифровали gpg -c
, то в файле text.txt.gpg
находится binary message. Его можно расшифровать средствами пакета github.com/ProtonMail/gopenpgp/v2/
:
package main
import (
"fmt"
"io"
"log"
"os"
"github.com/ProtonMail/gopenpgp/v2/armor"
"github.com/ProtonMail/gopenpgp/v2/constants"
"github.com/ProtonMail/gopenpgp/v2/helper"
)
func main() {
gpgfile := "text.txt.gpg"
data := Must(io.ReadAll(Must(os.Open(gpgfile))))
pwd := "123"
armored := Must(armor.ArmorWithType(data, constants.PGPMessageHeader))
txt := Must(helper.DecryptMessageWithPassword([]byte(pwd), armored))
fmt.Println(txt)
}
func Must[T any](val T, err error) T {
if err != nil {
log.Fatal(err.Error())
}
return val
}
Результат работы программы:
Hello, world!
Это в точности содержимое файла text.txt