|
@@ -124,12 +124,14 @@ func (v *AesCfb) IVSize() int32 {
|
|
|
|
|
|
|
|
func (v *AesCfb) NewEncryptionWriter(key []byte, iv []byte, writer io.Writer) (buf.Writer, error) {
|
|
func (v *AesCfb) NewEncryptionWriter(key []byte, iv []byte, writer io.Writer) (buf.Writer, error) {
|
|
|
stream := crypto.NewAesEncryptionStream(key, iv)
|
|
stream := crypto.NewAesEncryptionStream(key, iv)
|
|
|
- return buf.NewWriter(crypto.NewCryptionWriter(stream, writer)), nil
|
|
|
|
|
|
|
+ return &buf.SequentialWriter{Writer: crypto.NewCryptionWriter(stream, writer)}, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (v *AesCfb) NewDecryptionReader(key []byte, iv []byte, reader io.Reader) (buf.Reader, error) {
|
|
func (v *AesCfb) NewDecryptionReader(key []byte, iv []byte, reader io.Reader) (buf.Reader, error) {
|
|
|
stream := crypto.NewAesDecryptionStream(key, iv)
|
|
stream := crypto.NewAesDecryptionStream(key, iv)
|
|
|
- return buf.NewReader(crypto.NewCryptionReader(stream, reader)), nil
|
|
|
|
|
|
|
+ return &buf.SingleReader{
|
|
|
|
|
+ Reader: crypto.NewCryptionReader(stream, reader),
|
|
|
|
|
+ }, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (v *AesCfb) EncodePacket(key []byte, b *buf.Buffer) error {
|
|
func (v *AesCfb) EncodePacket(key []byte, b *buf.Buffer) error {
|
|
@@ -243,12 +245,12 @@ func (v *ChaCha20) IVSize() int32 {
|
|
|
|
|
|
|
|
func (v *ChaCha20) NewEncryptionWriter(key []byte, iv []byte, writer io.Writer) (buf.Writer, error) {
|
|
func (v *ChaCha20) NewEncryptionWriter(key []byte, iv []byte, writer io.Writer) (buf.Writer, error) {
|
|
|
stream := crypto.NewChaCha20Stream(key, iv)
|
|
stream := crypto.NewChaCha20Stream(key, iv)
|
|
|
- return buf.NewWriter(crypto.NewCryptionWriter(stream, writer)), nil
|
|
|
|
|
|
|
+ return &buf.SequentialWriter{Writer: crypto.NewCryptionWriter(stream, writer)}, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (v *ChaCha20) NewDecryptionReader(key []byte, iv []byte, reader io.Reader) (buf.Reader, error) {
|
|
func (v *ChaCha20) NewDecryptionReader(key []byte, iv []byte, reader io.Reader) (buf.Reader, error) {
|
|
|
stream := crypto.NewChaCha20Stream(key, iv)
|
|
stream := crypto.NewChaCha20Stream(key, iv)
|
|
|
- return buf.NewReader(crypto.NewCryptionReader(stream, reader)), nil
|
|
|
|
|
|
|
+ return &buf.SingleReader{Reader: crypto.NewCryptionReader(stream, reader)}, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (v *ChaCha20) EncodePacket(key []byte, b *buf.Buffer) error {
|
|
func (v *ChaCha20) EncodePacket(key []byte, b *buf.Buffer) error {
|