java - 在java中可逆地改组一个int数组

标签 java arrays shuffle steganography

<分区>

我有一个相当大的 int 数组。我需要使用一个键完全洗牌数组。我应该能够使用相同的 key 获取原始数组。我搜索了任何洗牌算法,但我发现像 Fisher Yates 这样的算法不使用 key 。

int 数组是图像的像素值。我需要将数据隐藏到其中。因此,在对数组进行洗牌后隐藏数据只有在拥有 key 的情况下才能访问数据。

最佳答案

Fisher-Yates 使用伪随机数生成器,您可以使用 key 为它播种(寻找加密 PRNG)。要反转该过程,请使用相同的 key 对索引数组 [0, n) 进行混洗,然后执行反向混洗。

关于java - 在java中可逆地改组一个int数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619134/

相关文章:

java - 如何获取联系人组 ID 或名称?

java - Camel会自动生成SOAP消息吗?

x86 - 将 _mm_shuffle_epi32 转换为 C 表达式以进行排列?

c - 使用 const 代替变量声明的空指针

java - 选择所有选项后,如何使 jButton 更改其颜色?

java堆分析与oql : Count unique strings

java - 我不断收到 ']' 预期错误 [Java]

android - 在android中使用http post发送位图的字节数组?

java - 如何将数字数组中的某个数字相加?

python - 如何对两列的 Python 列表进行打乱?