4

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

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

4

1 回答 1

2

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

于 2013-03-25T15:53:22.913 回答