diff --git a/rsa.go b/rsa.go index 6865c96..658d771 100644 --- a/rsa.go +++ b/rsa.go @@ -9,20 +9,30 @@ type RSA struct { privateKey *RSAPrivateKey } -func (r *RSA) SetPublicKey(publicKey []byte) (err error) { +func (r *RSA) SetPublicKeyBytes(publicKey []byte) (err error) { r.publicKey, err = NewRSAPublicKey(publicKey) return err } +func (r *RSA) SetPublicKey(publicKey *RSAPublicKey) *RSA { + r.publicKey = publicKey + return r +} + func (r *RSA) PublicKey() *RSAPublicKey { return r.publicKey } -func (r *RSA) SetPrivateKey(privateKey []byte) (err error) { +func (r *RSA) SetPrivateKeyBytes(privateKey []byte) (err error) { r.privateKey, err = NewRSAPrivateKey(privateKey) return err } +func (r *RSA) SetPrivateKey(privateKey *RSAPrivateKey) *RSA { + r.privateKey = privateKey + return r +} + func (r *RSA) PrivateKey() *RSAPrivateKey { return r.privateKey } diff --git a/rsa_test.go b/rsa_test.go index fe14cba..ab5353a 100644 --- a/rsa_test.go +++ b/rsa_test.go @@ -61,10 +61,10 @@ func Test_SetPrivateKey(t *testing.T) { // 公钥加密私钥解密 func Test_PubENCTYPTPriDECRYPT(t *testing.T) { a := NewRSA() - if err := a.SetPublicKey(testPubkey); err != nil { + if err := a.SetPublicKeyBytes(testPubkey); err != nil { t.Error(err) } - if err := a.SetPrivateKey(testPrivatekey); err != nil { + if err := a.SetPrivateKeyBytes(testPrivatekey); err != nil { t.Error(err) } pubenctypt, err := a.PublicKey().Encrypt([]byte(`hello world`)) @@ -84,10 +84,10 @@ func Test_PubENCTYPTPriDECRYPT(t *testing.T) { // 公钥解密私钥加密 func Test_PriENCTYPTPubDECRYPT(t *testing.T) { a := NewRSA() - if err := a.SetPublicKey(testPubkey); err != nil { + if err := a.SetPublicKeyBytes(testPubkey); err != nil { t.Error(err) } - if err := a.SetPrivateKey(testPrivatekey); err != nil { + if err := a.SetPrivateKeyBytes(testPrivatekey); err != nil { t.Error(err) } prienctypt, err := a.PrivateKey().Encrypt([]byte(`hello world`))