golang的 rsa加密可以参考如下
func Sign(pk, context string) string {
block, _ := pem.Decode([]byte(pk))
if block == nil {
panic("私钥错误")
}
private, err := x509.ParsePKCS1PrivateKey(block.Bytes)
if err != nil {
panic("PrivateKey error")
}
h := crypto.Hash.New(crypto.SHA1)
h.Write([]byte(context))
hashed := h.Sum(nil)
// 进行rsa加密签名
signedData, err := rsa.SignPKCS1v15(rand.Reader, private, crypto.SHA1, hashed)
data := base64.StdEncoding.EncodeToString(signedData)
return data
}
入参是私钥和加密消息