golang은 RSA 서명 및 확인을 사용합니다.
현재 base64 및 hex의 두 가지 주요 형식이 있습니다.
-
base64
1.rsa 유형 서명import ( "crypto/rsa" "crypto/rand" ) signature, err := rsa.SignPKCS1v15(rand.Reader, privateKey.(*rsa.PrivateKey), crypto.SHA1, hash[:]) if err != nil { fmt.Printf("Error from signing: %s\n", err) return "", err } encoded := base64.StdEncoding.EncodeToString(signature)
2. rsa 유형 서명 확인
import ( "crypto/rsa" ) rsa.VerifyPKCS1v15(pub *PublicKey, hash crypto.Hash, hashed []byte, sig []byte) error
-
마녀
hex.DecodeString(s string)//解密
hex.EncodeToString(src []byte) string//加密