gpt4 book ai didi

haskell - 在 haskell 中保存随机数生成器的状态

转载 作者:行者123 更新时间:2023-12-01 11:43:24 25 4
gpt4 key购买 nike

我目前正在使用 Crypto.RandomCrypto.Random.DRBG Haskell 库来生成随机数。但是,我发现自己需要将它们的状态存储在某种形式的文件中(例如 .txt 文件),因为我想在以后的某个时间点继续使用相同的生成器(这是因为我需要两个单独的程序以相同的顺序生成相同的随机数)。上面提到的库不是 Show 函数的实例。有谁知道如何存储上述生成器的状态?

最佳答案

您可以使用 DRBG 的 git 版本执行 CtrDRBG 的序列化(自提交 9da47c4dabf9f6976edcbf938c4a1a4b95e09b0c 起)。编辑:这现在是黑客攻击。安装:

cabal update
cabal install DRBG

现在您应该能够在CtrDRBG 上使用Data.Serializeencodedecode 函数.

编辑:我觉得我应该提一下,就像所有 NIST SP 800-90 发生器一样,DRBG 可能不会提供您可能期望的属性。生成器确实是确定性的,但是您的请求扰乱了状态,因此两次生成 N 字节不会导致与生成 2*N 字节的单个请求相同的字节。这是由于发电机的回溯阻力。始终发出大小一致的请求并在幕后执行串联的缓冲策略可以隐藏此行为。

关于haskell - 在 haskell 中保存随机数生成器的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17447415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com