golang использует подпись RSA и проверку.
В настоящее время существует две основные формы base64 и hex:
-
подпись типа base64 1.rsaimport ( "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//加密