package sra import ( "encoding/hex" "fmt" "testing" ) func Test_RSA(t *testing.T) { //rsa 密钥文件产生 fmt.Println("-------------------------------获取RSA公私钥-----------------------------------------") prvKey, pubKey, _ := GenRsaKey(1204) fmt.Println(string(prvKey)) fmt.Println(string(pubKey)) fmt.Println("-------------------------------进行签名与验证操作-----------------------------------------") var data = "卧了个槽,这么神奇的吗??!!! ԅ(¯﹃¯ԅ) !!!!!!)" fmt.Println("对消息进行签名操作...") signData, _ := RsaSignWithSha256([]byte(data), prvKey) fmt.Println("消息的签名信息: ", hex.EncodeToString(signData)) fmt.Println("\n对签名信息进行验证...") if ok, _ := RsaVerySignWithSha256([]byte(data), signData, pubKey); ok { fmt.Println("签名信息验证成功,确定是正确私钥签名!!") } fmt.Println("-------------------------------进行加密解密操作-----------------------------------------") ciphertext, _ := RsaEncrypt([]byte(data), pubKey) fmt.Println("公钥加密后的数据:", hex.EncodeToString(ciphertext)) sourceData, _ := RsaDecrypt(ciphertext, prvKey) fmt.Println("私钥解密后的数据:", string(sourceData)) }