dongyu3659 2018-06-26 14:23
浏览 49
已采纳

io.Writer的日志数据

This question already has an answer here:

I'd like to create a method that takes a ìo.Writerand wraps acipher.StreamWriter` around, to encrypt the writer. For Debugging Reasons, I'd like to print out what data passes the writer. How do I achieve this?

The Crypto Code is just placeholder, so fixed key, iv and so on is just for testing things out.

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}
}
</div>
  • 写回答

1条回答 默认 最新

  • doujuan2688 2018-06-26 14:37
    关注

    You might want to take a look at MultiWriter from io package: it creates a writer that duplicates its writes to all the provided writers, similar to the Unix tee(1) command.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?