mirror of https://github.com/v2ray/v2ray-core
more chacha20 test
parent
769af1ed02
commit
65819228c1
|
@ -1,6 +1,7 @@
|
||||||
package crypto_test
|
package crypto_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/rand"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
@ -55,3 +56,23 @@ func TestChaCha20Stream(t *testing.T) {
|
||||||
assert.Bytes(c.output).Equals(actualOutout)
|
assert.Bytes(c.output).Equals(actualOutout)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestChaCha20Decoding(t *testing.T) {
|
||||||
|
v2testing.Current(t)
|
||||||
|
|
||||||
|
key := make([]byte, 32)
|
||||||
|
rand.Read(key)
|
||||||
|
iv := make([]byte, 8)
|
||||||
|
rand.Read(iv)
|
||||||
|
stream := NewChaCha20Stream(key, iv)
|
||||||
|
|
||||||
|
payload := make([]byte, 1024)
|
||||||
|
rand.Read(payload)
|
||||||
|
|
||||||
|
x := make([]byte, len(payload))
|
||||||
|
stream.XORKeyStream(x, payload)
|
||||||
|
|
||||||
|
stream2 := NewChaCha20Stream(key, iv)
|
||||||
|
stream2.XORKeyStream(x, x)
|
||||||
|
assert.Bytes(x).Equals(payload)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue