github.com/sohaha/zlsgo@v1.7.13-0.20240501141223-10dd1a906f76/zstring/ras_test.go (about)

     1  package zstring_test
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	zls "github.com/sohaha/zlsgo"
     8  	"github.com/sohaha/zlsgo/zstring"
     9  )
    10  
    11  func TestRSA(t *testing.T) {
    12  	tt := zls.NewTest(t)
    13  
    14  	val := "是我呀,我是测试的人呢,你想干嘛呀???我就是试试看这么长会发生什么情况呢"
    15  
    16  	prv, pub, err := zstring.GenRSAKey()
    17  	tt.NoError(err)
    18  
    19  	fmt.Println(string(prv))
    20  	fmt.Println(string(pub))
    21  
    22  	c, err := zstring.RSAEncryptString(val, string(pub))
    23  	tt.EqualNil(err)
    24  	t.Log(c)
    25  
    26  	c, err = zstring.RSADecryptString(c, string(prv))
    27  	tt.EqualNil(err)
    28  	t.Log(c)
    29  
    30  	tt.Equal(val, c)
    31  
    32  	c, err = zstring.RSAEncryptString(val, "pub")
    33  	t.Log(c, err)
    34  
    35  	c, err = zstring.RSADecryptString(c, "prv")
    36  	t.Log(c, err)
    37  }
    38  
    39  func TestRSALong(t *testing.T) {
    40  	tt := zls.NewTest(t)
    41  
    42  	val := `是我呀,我是测试的人呢,你想干嘛呀???xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 我就是试试看这么长会发生什么情况呢!
    43  看起来似乎还行🤣🤣🤣!!!是我呀,我是测试的人呢,你想干嘛呀???xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 我就是试试看这么长会发生什么情况呢!
    44  看起来似乎还行🤣🤣🤣!!!是我呀,我是测试的人呢,你想干嘛呀???xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 我就是试试看这么长会发生什么情况呢!
    45  看起来似乎还行🤣🤣🤣!!!是我呀,我是测试的人呢,你想干嘛呀???xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 我就是试试看这么长会发生什么情况呢!
    46  看起来似乎还行🤣🤣🤣!!!是我呀,我是测试的人呢,你想干嘛呀???xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 我就是试试看这么长会发生什么情况呢!
    47  看起来似乎还行🤣🤣🤣!!!是我呀,我是测试的人呢,你想干嘛呀???xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 我就是试试看这么长会发生什么情况呢!
    48  看起来似乎还行🤣🤣🤣!!!
    49  `
    50  
    51  	prv, pub, err := zstring.GenRSAKey(2000)
    52  	tt.NoError(err)
    53  
    54  	b, err := zstring.RSAEncrypt([]byte(val), string(pub), 2000)
    55  	t.Log(string(b), err)
    56  
    57  	b, err = zstring.RSADecrypt(b, string(prv), 2000)
    58  	t.Log(string(b), err)
    59  
    60  	tt.Equal(val, string(b))
    61  
    62  	b, err = zstring.RSAEncrypt([]byte("val2"), string(pub), 2000)
    63  	t.Log(string(b), err)
    64  
    65  }
    66  
    67  func TestRSAPrvKeyEncrypt(t *testing.T) {
    68  	tt := zls.NewTest(t)
    69  
    70  	val := "是我呀,我是测试的人呢,你想干嘛呀???我就是试试看这么长会发生什么情况呢"
    71  
    72  	prv, pub, err := zstring.GenRSAKey()
    73  	tt.NoError(err)
    74  
    75  	c, err := zstring.RSAPriKeyEncryptString(val, string(prv))
    76  	tt.EqualNil(err)
    77  	t.Log(c)
    78  
    79  	c, err = zstring.RSAPubKeyDecryptString(c, string(pub))
    80  	tt.EqualNil(err)
    81  	t.Log(c)
    82  
    83  	tt.Equal(val, c)
    84  
    85  	c, err = zstring.RSAPriKeyEncryptString(val, "pub")
    86  	t.Log(c, err)
    87  
    88  	c, err = zstring.RSAPubKeyDecryptString(c, "prv")
    89  	t.Log(c, err)
    90  }