io.Writer 的日志数据

Log Data of io.Writer

我想创建一个采用 ìo.Writerand wraps acipher.StreamWriter` 的方法来加密编写器。出于调试原因,我想打印出通过编写器的数据。我该如何实现?

加密代码只是占位符,因此固定密钥、iv 等仅用于测试。

func NewEncryptionWriter(w io.Writer) io.WriteCloser {
    key, _ := hex.DecodeString("6368616e676520746869732070617373")
    c, _ := aes.NewCipher(key)
    iv := make([]byte, aes.BlockSize)
    return &cipher.StreamWriter{S: cipher.NewOFB(c, iv), W: w}
}

您可能想看看 io 包中的 MultiWriter:它创建一个写入器,将其写入复制到所有提供的写入器,类似于 Unix tee(1) 命令。