Cryptography 这个错误在植物学加密库中意味着什么? 我使用C++加密库Botan,在任意时间,在运行时都会遇到以下错误。这是什么意思

Cryptography 这个错误在植物学加密库中意味着什么? 我使用C++加密库Botan,在任意时间,在运行时都会遇到以下错误。这是什么意思,cryptography,Cryptography,在抛出“Botan::PRNG_unseed”的实例后调用terminate what():植物学:PRNG未播种:X9.31(AES-256) 在我看来,你好像忘了给伪随机数发生器(PRNG)播种。未能执行此操作后,Botan库抛出了上述异常,这似乎导致调用了terminate函数。最可能的答案是您使用的是V1.8.2,它的自动进纸例程有问题。升级到1.8.4或1.8.5已经修复了迄今为止报告此问题的所有人的问题。我遇到了相同的错误消息,这是由于缺少任何熵源造成的。 在构建Botan库或生成单

在抛出“Botan::PRNG_unseed”的实例后调用terminate what():植物学:PRNG未播种:X9.31(AES-256)


在我看来,你好像忘了给伪随机数发生器(PRNG)播种。未能执行此操作后,Botan库抛出了上述异常,这似乎导致调用了
terminate
函数。

最可能的答案是您使用的是V1.8.2,它的自动进纸例程有问题。升级到1.8.4或1.8.5已经修复了迄今为止报告此问题的所有人的问题。

我遇到了相同的错误消息,这是由于缺少任何熵源造成的。 在构建Botan库或生成单个源文件时,可以尝试启用熵源。 对于windows平台,将win32_stats模块添加到选项--enable模块中。对于linux,使用dev_random


e、 g.configure.py--enable modules=win32_stats,…

这部分内容很清楚,但为什么不自动对其进行种子设定?为什么它只是不可预测地出现,而不是一直出现?请注意,我只使用自动种子对象,因此如果它确实是自动种子对象,则不应出现此错误。不,我没有,您是否能够使用调试器附加和复制此问题?也许这将有助于缩小问题的范围。有时,它有助于将代码简化为可以复制问题的最小集合。我唯一能想到的可能是,可能在LibraryInitializer对象之前分配了一个对象。文档中说,如果发生这种情况,事情可能会变得非常糟糕,包括“它将无法完成分配内存或获取随机位之类的基本任务。”现在,我正在将Botan导入主程序的外部源/头文件中。在源文件中调用的唯一全局变量是库初始化器对象——所有其他都是类或函数中的局部变量——所以我不知道这可能是什么问题。C++中全局对象的初始化顺序没有明确定义——如果您有静态类或文件变量,然后你不能确定哪一个会在第一年被创造出来,但仍然没有答案解释为什么会这样做…非常感谢。这一见解对我在Win32上将Autoseed与Botan结合使用的能力至关重要。