Golang在不同的机器上生成相同的加密

时间:2017-03-09 23:46:04

标签: encryption go aes

我有一个使用crypto / aes加密和解密明文的go脚本。

https://play.golang.org/p/le_-uuzWN4

我希望在不同的计算机上使用此脚本并生成相同的加密文本。我认为通过自定义IV,无论在何处都可以实现一致的加密。 现在它在go操场上与https://repl.it/languages/go

上产生不同的结果

是否有可能产生一致的加密,或者由于内部实现(如加密盐等),它总是会有所不同。

另外,究竟什么是IV,我仍然对此感到困惑。文档并没有真正解释它是什么

1 个答案:

答案 0 :(得分:0)

我弄清楚为什么每次都会生成不同的密文。 IV随机使用此声明

if _, err := io.ReadFull(rand.Reader, iv); err != nil {
    panic(err)
}

删除它会使IV保持不变,并且在任何机器上给出相同的Key和IV时它将生成相同的加密