57 lines
2.0 KiB
Go
57 lines
2.0 KiB
Go
package sm2
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
const (
|
|
SELF_PRI = "BD13D44C74422F80ADDF54AD2DE2888C4092AF6F61E41FABADA6C47F17574A41"
|
|
|
|
SELF_PUB = "04F26C6CDA5E58153999FDF3023259F16EDE0A556C39FCF4BC97C04A10A8A6CF1D52297B53DB4DD72FEEF8221394C8478E6424F4E84E4A6E2784C1A4A1C99F2DC2"
|
|
)
|
|
|
|
func TestGenerateSM2KeyPair(t *testing.T) {
|
|
// Generate a new SM2 key pair
|
|
privateKey, publicKey := GenerateKey()
|
|
|
|
// Print the private and public keys
|
|
fmt.Printf("Private Key: %s\n", privateKey)
|
|
fmt.Printf("Public Key: %s\n", publicKey)
|
|
|
|
data := "{\"name\":\"张三\",\"sex\":1,\"is_human\":true}"
|
|
en, err := SM2Encrypt(data, publicKey)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
decrypt, err := SM2Decrypt(en, publicKey, privateKey)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
t.Log(decrypt)
|
|
|
|
}
|
|
|
|
func TestSM2Encrypt(t *testing.T) {
|
|
t.Log(encrypt())
|
|
}
|
|
|
|
func TestSM2Decrypt(t *testing.T) {
|
|
en := "MDRkZDJkYzE1ZmIyZTdjMDRiNTlhZGM5OGM1NjBjM2RhZWVkMzhkMjljYjFkMmEyNjUzMmZlZDRkMWUxMjc5MjQxM2M5OTJiMTk5OWQ4MzgwOTdjYjhhMTU4ODA3OTNmZDNiM2FjZmE2NWNjNDAzZTgyODZjZjM5Y2NkMWU2NmJjY2EwNjU0N2NlNzM3N2M3YWViMmRmN2UzNGQ3YTIyMzI1NWJiMzU5NzljMDVlNjg2MTQzMGE4Y2VmNDZmMTU4YTYxNmI5ZjE2YTcwYzc0MTRhNmNmMWE2NWE5ZTE1YWM1ODBmODk1MWNiOWNhMzBlMDNhMjQzZmZjZWY4YjQzOWUzOGM5NmU0MGQyMTc5YjY5YThhNGQ3ZTQxMjZlMzA1MGZlNWIxZDI4Mzc0YjU3MmRiODBiMjFiMWY4NGYwNDBjYTE3NTRhN2FjMDk5Y2ZmZGI5MDM3NjIxYTE0ODAzNGIyOTU4NjA4ZDM4MzNlOGIwNDE4MWQ4NGUyMWU0OTNmZjYzNzNjMGQ4Y2M0ODVkYzM4NjZlYjZlOWZiYzVjZGFmMDExNWNiYWNiODA4Y2ZkYjczODlmZmJlZDliNmQzMDdiYTczY2EyOTVlOWNhM2RhZmNlNDk1YTZiNWI4NzFhYzdlN2U2ZTJmZWFlOGU3YTllOTFhYTE4ZGY4MzVkNWI2YjFkOGFkY2NhYWM0YjMwOTU3NzUxMmZkYWVlMmVhOWJlMTkwMWUxOTUzMzFmN2UyZjU5NmFkOGRiN2Q1ZDJmYzI2MDA5NjE4YmNhNzc="
|
|
decrypt, err := SM2Decrypt(en, SELF_PUB, SELF_PRI)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
t.Log(decrypt)
|
|
}
|
|
|
|
func encrypt() string {
|
|
data := "{\"order_no\":5476377146882523228,\"order_type\":1,\"out_tread_no\":\"asdadasdas\",\"amount\":1,\"desc\":\"abc\",\"status\":2,\"create_time\":\"2024-08-08 14:47:35\"}"
|
|
en, err := SM2Encrypt(data, SELF_PUB)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return en
|
|
}
|