diff --git a/gold/link/crypto.go b/gold/link/crypto.go index 299b7c5..57aa8fe 100644 --- a/gold/link/crypto.go +++ b/gold/link/crypto.go @@ -35,7 +35,7 @@ func (l *Link) Decode(teatype uint8, b []byte) (db []byte) { return } -// EncodePreshared 使用 chacha20poly1305 加密 +// EncodePreshared 使用 xchacha20poly1305 加密 func (l *Link) EncodePreshared(additional uint16, b []byte) (eb []byte) { nsz := l.aead.NonceSize() // Select a random nonce, and leave capacity for the ciphertext. @@ -51,7 +51,7 @@ func (l *Link) EncodePreshared(additional uint16, b []byte) (eb []byte) { return } -// DecodePreshared 使用 chacha20poly1305 解密 +// DecodePreshared 使用 xchacha20poly1305 解密 func (l *Link) DecodePreshared(additional uint16, b []byte) (db []byte) { nsz := l.aead.NonceSize() if len(b) < nsz { // ciphertext too short diff --git a/gold/link/send.go b/gold/link/send.go index 298054d..a407358 100644 --- a/gold/link/send.go +++ b/gold/link/send.go @@ -60,18 +60,22 @@ func (l *Link) WriteAndPut(p *head.Packet, istransfer bool) (n int, err error) { func (l *Link) encrypt(p *head.Packet, sndcnt uint16, teatype uint8) { p.FillHash() + logrus.Debugln("[send] data len before encrypt:", len(p.Data)) if l.usezstd { w := helper.SelectWriter() defer helper.PutWriter(w) enc, _ := zstd.NewWriter(w, zstd.WithEncoderLevel(zstd.SpeedFastest)) - defer enc.Close() _, _ = io.Copy(enc, bytes.NewReader(p.Data)) + enc.Close() p.Data = w.Bytes() + logrus.Debugln("[send] data len after zstd:", len(p.Data)) } if l.aead != nil { p.Data = l.EncodePreshared(sndcnt, p.Data) + logrus.Debugln("[send] data len after xchacha20:", len(p.Data)) } p.Data = l.Encode(teatype, p.Data) + logrus.Debugln("[send] data len after tea:", len(p.Data)) } // write 向 peer 发一个包