lancet icon indicating copy to clipboard operation
lancet copied to clipboard

建议AesCbcEncrypt支持自定义iv向量

Open shaoerkuai opened this issue 2 years ago • 1 comments

去看了下不同地方的iv算法,发现各有不同,目前采取写法是: iv := encrypted[:aes.BlockSize] 希望这个能开放自定义

shaoerkuai avatar Sep 13 '23 11:09 shaoerkuai

去看了下不同地方的iv算法,发现各有不同,目前采取写法是: iv := encrypted[:aes.BlockSize] 希望这个能开放自定义

需要保持和以前版本兼容,如果开放自定义iv,需要将iv设计成可变参数。可以做如下修改:

func AesCbcEncrypt(data, key []byte, ivs... []byte) {
   iv := encrypted[:aes.BlockSize]

   if len(ivs) > 0 {
     iv = ivs[0]
   }
   // .....
}

duke-git avatar Sep 13 '23 12:09 duke-git