auth_test.go 765 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package mtproto_test
  2. import (
  3. "bytes"
  4. "crypto/rand"
  5. "testing"
  6. "v2ray.com/core/common"
  7. . "v2ray.com/core/proxy/mtproto"
  8. . "v2ray.com/ext/assert"
  9. )
  10. func TestInverse(t *testing.T) {
  11. assert := With(t)
  12. b := make([]byte, 64)
  13. common.Must2(rand.Read(b))
  14. bi := Inverse(b)
  15. assert(b[0], NotEquals, bi[0])
  16. bii := Inverse(bi)
  17. assert(bii, Equals, b)
  18. }
  19. func TestAuthenticationReadWrite(t *testing.T) {
  20. assert := With(t)
  21. a := NewAuthentication()
  22. b := bytes.NewReader(a.Header[:])
  23. a2, err := ReadAuthentication(b)
  24. assert(err, IsNil)
  25. assert(a.EncodingKey[:], Equals, a2.DecodingKey[:])
  26. assert(a.EncodingNonce[:], Equals, a2.DecodingNonce[:])
  27. assert(a.DecodingKey[:], Equals, a2.EncodingKey[:])
  28. assert(a.DecodingNonce[:], Equals, a2.EncodingNonce[:])
  29. }