<分区>
我有一个相当大的 int 数组。我需要使用一个键完全洗牌数组。我应该能够使用相同的 key 获取原始数组。我搜索了任何洗牌算法,但我发现像 Fisher Yates 这样的算法不使用 key 。
int 数组是图像的像素值。我需要将数据隐藏到其中。因此,在对数组进行洗牌后隐藏数据只有在拥有 key 的情况下才能访问数据。
<分区>
我有一个相当大的 int 数组。我需要使用一个键完全洗牌数组。我应该能够使用相同的 key 获取原始数组。我搜索了任何洗牌算法,但我发现像 Fisher Yates 这样的算法不使用 key 。
int 数组是图像的像素值。我需要将数据隐藏到其中。因此,在对数组进行洗牌后隐藏数据只有在拥有 key 的情况下才能访问数据。
最佳答案
Fisher-Yates 使用伪随机数生成器,您可以使用 key 为它播种(寻找加密 PRNG)。要反转该过程,请使用相同的 key 对索引数组 [0, n) 进行混洗,然后执行反向混洗。
关于java - 在java中可逆地改组一个int数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619134/