-1

我尝试travis encrypt "some secret string"在同一个存储库中多次运行,每次都返回不同的加密字符串。Travis 是否使用概率加密?如果没有,我做错了什么?

travis编辑:如果有 IV,我的本地cli 和 Travis 服务器如何同意这个 IV ?我可以查看或更改它吗?

4

1 回答 1

1

请参阅概率加密WRT 块密码。

不同结果的示例在基于块的加密算法(例如 AES 和 CBC 模式)中使用随机 IV 加密相同的数据。IV 可以在加密数据前加上前缀,并且加密数据会有所不同,因为每次加密相同的数据时都会有不同的 IV,这是一种常见且良好的标准做法,IV 不需要保密。

如果 IV 可以添加到加密数据之前,则它可用于解密,则无需事先同意 ios。

这是CBC 模式,注意 IV 与第一个数据块异或,每个后续块与前一个加密块异或。因此,IV 会影响加密数据的每个块。

这样做是为了使两个相同的消息不会具有相同的加密数据。考虑持续发送两条消息之一的情况:“0”或“1”,其中 0 表示卖出,1 表示买入。如果即使无法确定消息本身,但每次加密都相同,则可以确定两种状态以及它是哪一种。

Travis-ci 使用 aes-256-cbc 作为它的自动加密

还有其他加密选项,例如可以使用随机填充的非对称加密,例如 RSA。

于 2017-07-10T17:45:20.383 回答