rsa_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package rsa
  2. import (
  3. "testing"
  4. )
  5. /*const (
  6. priKey = `
  7. -----BEGIN RSA PRIVATE KEY-----
  8. MFECAQACDQDt0G4B3JeeHjLWvX0CAwEAAQINANmKZncRf2SzCt/qiQIHAP1hu7hC
  9. NwIHAPBFhAcz6wIHAMKsRD3dIQIGDn4S7aBLAgY5OcfnuCQ=
  10. -----END RSA PRIVATE KEY-----
  11. `
  12. pubKey = `
  13. -----BEGIN PUBLIC KEY-----
  14. MCgwDQYJKoZIhvcNAQEBBQADFwAwFAINAO3QbgHcl54eMta9fQIDAQAB
  15. -----END PUBLIC KEY-----
  16. `
  17. )*/
  18. var priKey string
  19. var pubKey string
  20. func TestGenerateKey(t *testing.T) {
  21. pri, pub, err := GenerateKey(1024)
  22. if err != nil {
  23. t.Error(err)
  24. }
  25. priKey = string(pri)
  26. pubKey = string(pub)
  27. }
  28. func TestRSA(t *testing.T) {
  29. msg := "1"
  30. cipher, err := Encrypt([]byte(msg), []byte(pubKey))
  31. if err != nil {
  32. t.Error(err)
  33. t.FailNow()
  34. }
  35. ori, err := Decrypt(cipher, []byte(priKey))
  36. if err != nil {
  37. t.Error(err)
  38. t.FailNow()
  39. }
  40. if string(ori) != msg {
  41. t.FailNow()
  42. }
  43. }
  44. func BenchmarkRSA(b *testing.B) {
  45. msg := "1"
  46. cipher, err := Encrypt([]byte(msg), []byte(pubKey))
  47. if err != nil {
  48. b.Error(err)
  49. b.FailNow()
  50. }
  51. for i := 0; i < b.N; i++ {
  52. if _, err := Decrypt(cipher, []byte(priKey)); err != nil {
  53. b.Error(err)
  54. b.FailNow()
  55. }
  56. }
  57. }