package test import ( "acme-mana/src/crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "fmt" "log" "testing" ) func TestGenRsa(t *testing.T) { privateKey, err := rsa.GenerateKey(rand.Reader, 2048) if err != nil { log.Fatal(err) } publicKeyBytes, err := x509.MarshalPKIXPublicKey(&privateKey.PublicKey) if err != nil { log.Fatal(err) } pubKey := base64.StdEncoding.EncodeToString(publicKeyBytes) key := x509.MarshalPKCS1PrivateKey(privateKey) priKey := base64.StdEncoding.EncodeToString(key) fmt.Println(pubKey) fmt.Println() fmt.Println(priKey) } func TestAesEncrypt(t *testing.T) { key := []byte("12345678901234561234567890123456") encryptd := crypto.EncryptAES(key, []byte("hello")) fmt.Println(base64.StdEncoding.EncodeToString(encryptd)) content := crypto.DecryptAES(key, encryptd) fmt.Println(string(content)) } func TestRSA(t *testing.T) { priKey, pubKey, err := crypto.GenRSA() if err != nil { log.Fatal(err) } fmt.Println("---- pri key ---") fmt.Println(priKey) fmt.Println("---- pub key ---") fmt.Println(pubKey) fmt.Println("---- encrypt ---") content := "hello" encrypted, err := crypto.EncryptRSABase64(pubKey, []byte(content)) if err != nil { log.Fatal(err) } fmt.Println(base64.StdEncoding.EncodeToString(encrypted)) fmt.Println("---- decrypt ---") decryptd, err := crypto.DecryptRSABase64(priKey, encrypted) if err != nil { log.Fatal(err) } fmt.Println(string(decryptd)) } func TestAES(t *testing.T) { content := "123456" encryptd := crypto.EncryptAES([]byte("12345678901234561234567890123456"), []byte(content)) fmt.Println(base64.StdEncoding.EncodeToString(encryptd)) plain := crypto.DecryptAES([]byte("12345678901234561234567890123456"), encryptd) fmt.Println(string(plain)) }