[英]Efficient way to repeatedly generate same random number in C++?
我正在研究安全的 LoRa 传输,我需要根据输入计数器在发射器和接收器上生成相同的伪随机数(这将是加密算法的一部分)。 所以对于给定的输入,这个 function 应该给出相同的 output,就像哈希算法一样。
作为一个例子,这就是我的意思,但正如您所看到的,计算会根据输入而变长:
unsigned int f(unsigned int input) {
srand(1234);
for (unsigned int i = 0; i < input; i++) {
rand();
}
return rand();
}
有没有更有效的方法来做到这一点? 我在 ESP32 微控制器上。
编辑。 感谢所有的答案。 我本来可以用 CRC function 完成我想做的事情,但根据你的建议,我最终放弃了这种方法,转而使用标准加密算法。
今天出现了一个很好的问题,提出了随机生成的标准函数: 获取随机数分布的 state(种子)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.