哈希字符串生成长序列

问题描述 投票:0回答:1

我想要一长串字符或数字,由传递给某些广泛使用的函数的哈希字符串确定。例如,我有一个字符串

a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
,如果我将它传递给某个广泛使用的开源库中的一组函数,那么每次我在任何机器上执行它时,它都会以相同的顺序返回 100k 个符号?

我想这与《我的世界》中的种子数量有关,但我不知道从哪里开始,所以请指教。

谢谢!

algorithm hash cryptography
1个回答
0
投票

最简单的方法是使用流密码,例如 ChaCha。流密码是一种 CSPRNG,根据给定的密钥(例如,由您显示的十六进制字符串表示的字节)生成尽可能多的输出。对于非安全,您可以使用 LSFR。如果您提前知道输出大小,那么理论上您也可以使用 XOF,例如 SHAKE128 或 SHAKE256。

如果你想拥有“符号”,那么你可以使用特定拒绝采样机制,例如“简单丢弃”。如果有 N 个符号,则需要表示 N 个所需的位数(通常到字节边界,丢弃不必要的位)。将其转换为数字

i
;如果数字太高,则重复该过程。现在
i
alphabet 的索引,即所有已知符号的序列。

© www.soinside.com 2019 - 2024. All rights reserved.