github.com/lingyao2333/mo-zero@v1.4.1/core/codec/rsa_test.go (about) 1 package codec 2 3 import ( 4 "encoding/base64" 5 "testing" 6 7 "github.com/lingyao2333/mo-zero/core/fs" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 const ( 12 priKey = `-----BEGIN RSA PRIVATE KEY----- 13 MIICXQIBAAKBgQC4TJk3onpqb2RYE3wwt23J9SHLFstHGSkUYFLe+nl1dEKHbD+/ 14 Zt95L757J3xGTrwoTc7KCTxbrgn+stn0w52BNjj/kIE2ko4lbh/v8Fl14AyVR9ms 15 fKtKOnhe5FCT72mdtApr+qvzcC3q9hfXwkyQU32pv7q5UimZ205iKSBmgQIDAQAB 16 AoGAM5mWqGIAXj5z3MkP01/4CDxuyrrGDVD5FHBno3CDgyQa4Gmpa4B0/ywj671B 17 aTnwKmSmiiCN2qleuQYASixes2zY5fgTzt+7KNkl9JHsy7i606eH2eCKzsUa/s6u 18 WD8V3w/hGCQ9zYI18ihwyXlGHIgcRz/eeRh+nWcWVJzGOPUCQQD5nr6It/1yHb1p 19 C6l4fC4xXF19l4KxJjGu1xv/sOpSx0pOqBDEX3Mh//FU954392rUWDXV1/I65BPt 20 TLphdsu3AkEAvQJ2Qay/lffFj9FaUrvXuftJZ/Ypn0FpaSiUh3Ak3obBT6UvSZS0 21 bcYdCJCNHDtBOsWHnIN1x+BcWAPrdU7PhwJBAIQ0dUlH2S3VXnoCOTGc44I1Hzbj 22 Rc65IdsuBqA3fQN2lX5vOOIog3vgaFrOArg1jBkG1wx5IMvb/EnUN2pjVqUCQCza 23 KLXtCInOAlPemlCHwumfeAvznmzsWNdbieOZ+SXVVIpR6KbNYwOpv7oIk3Pfm9sW 24 hNffWlPUKhW42Gc+DIECQQDmk20YgBXwXWRM5DRPbhisIV088N5Z58K9DtFWkZsd 25 OBDT3dFcgZONtlmR1MqZO0pTh30lA4qovYj3Bx7A8i36 26 -----END RSA PRIVATE KEY-----` 27 pubKey = `-----BEGIN PUBLIC KEY----- 28 MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4TJk3onpqb2RYE3wwt23J9SHL 29 FstHGSkUYFLe+nl1dEKHbD+/Zt95L757J3xGTrwoTc7KCTxbrgn+stn0w52BNjj/ 30 kIE2ko4lbh/v8Fl14AyVR9msfKtKOnhe5FCT72mdtApr+qvzcC3q9hfXwkyQU32p 31 v7q5UimZ205iKSBmgQIDAQAB 32 -----END PUBLIC KEY-----` 33 testBody = `this is the content` 34 ) 35 36 func TestCryption(t *testing.T) { 37 enc, err := NewRsaEncrypter([]byte(pubKey)) 38 assert.Nil(t, err) 39 ret, err := enc.Encrypt([]byte(testBody)) 40 assert.Nil(t, err) 41 42 file, err := fs.TempFilenameWithText(priKey) 43 assert.Nil(t, err) 44 dec, err := NewRsaDecrypter(file) 45 assert.Nil(t, err) 46 actual, err := dec.Decrypt(ret) 47 assert.Nil(t, err) 48 assert.Equal(t, testBody, string(actual)) 49 50 actual, err = dec.DecryptBase64(base64.StdEncoding.EncodeToString(ret)) 51 assert.Nil(t, err) 52 assert.Equal(t, testBody, string(actual)) 53 } 54 55 func TestBadPubKey(t *testing.T) { 56 _, err := NewRsaEncrypter([]byte("foo")) 57 assert.Equal(t, ErrPublicKey, err) 58 }