java - 如何使 IvParameterSpec 随机但仍然解密

标签 java encryption

对于 Java 中的加密... http://cwe.mitre.org/data/definitions/329.html 上的文章指出初始化 vector 每次都应该不同,但如果我使用与加密时不同的 IV 进行解密,我会得到垃圾字符而不是我预期的数据。

在一台服务器上加密并在另一台服务器上解密而无需在服务器之间来回传递 IV 的正确方法是什么?

常见的技术似乎是硬编码一个字节数组,但据说这是不安全的???

最佳答案

相信 IV 就像盐一样 - 它不是 secret ,它只是用来引入额外的随机性元素,这样用相同 key 加密的相同消息每次仍然会出现不同的结果.

因此,您可以将用于加密的 IV 作为加密值的一部分进行传输,就像您将盐与散列值一起存储以获取散列值一样。

当然,我可能完全不正确......

关于java - 如何使 IvParameterSpec 随机但仍然解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275944/

相关文章:

java - 在 TabPane JavaFX 上添加布局

java - 如何等待鼠标点击

java - GWT 使用 DOM.clone 克隆一个小部件

java - 在JavaFX中,有没有办法先显示选项卡名称,然后显示图形?

java - android cipher 不解密加密数据的前 16 个字节/字符

java - 使用 apacheDS 进行单元测试

python - aesEncrypt 产生不同的结果

ios - 保护移动连接 - 存储 secret 和 key

ssl - 一个域上有多个 SSL 证书

java - 我应该使用哪些 Java 加密算法?