C++ 加载/导出随机数
在自制应用程序的框架中,客户端和服务器都必须发送随机生成的数字(rng),以便稍后在握手过程中生成C++ 加载/导出随机数,c++,ssl,crypto++,diffie-hellman,C++,Ssl,Crypto++,Diffie Hellman,在自制应用程序的框架中,客户端和服务器都必须发送随机生成的数字(rng),以便稍后在握手过程中生成MasterSecret(类似TLS) 使用,您可以轻松创建这些数字,这得益于: AutoSeededRandomPool rng; 我的问题是1)将它们导出为字符串或等效项,2)从字符串加载它们 我必须把这些数字放在一个框架内,而不是这个框架,也不是精确的框架 在web上,我找不到保存/加载示例(如RSA::PublicKeys) 显然,我是第一个想要这样做的人,因为他们在同一个程序中生成客户端
MasterSecret
(类似TLS)
使用,您可以轻松创建这些数字,这得益于:
AutoSeededRandomPool rng;
我的问题是1)将它们导出为字符串或等效项,2)从字符串加载它们
我必须把这些数字放在一个框架内,而不是这个框架,也不是精确的框架
在web上,我找不到保存/加载示例(如RSA::PublicKeys
)
显然,我是第一个想要这样做的人,因为他们在同一个程序中生成客户端和服务器,因此不需要传输数字
而且,作为这次握手的一部分,我也试着对curvesID做同样的事情…这个问题是我这方面的误解,所以我会解释它,以防有人有同样的疑问。它的灵感主要来自 有两个不同的对象:
AutoSeededRandomPool prng;
prng.GenerateBlock( scratch, scratch.size() );
autoseedrandompool-prng
是随机数的生成器(将自动设定种子)
prng.GenerateBlock
是一个命令,它将从该随机数中提取位,以构建所需长度的std::string scratch
因为划痕是一根线,我们可以用它做我们想做的事,在任何地方使用它。。。因此,请参考字符串导入/导出。使用
GenerateBlock(byte*output,size\u t size)
生成您的随机数,然后传输、加密、打印在橙色纸张上,或者用它做任何您喜欢的事情。我想我不明白你的问题…我以为prng
实际上是创建的随机数。事实上,它只是一台发电机。而GenerateBlock
是一个命令,用于生成伪随机数。我的错。@Beyeler我应该删除我的问题吗?我真的不知道当一个问题被证明只是一个误会时会说什么^^