我正在尝试在OpenSSL中使用BIGNUM工具。我写了以下测试程序:
BIGNUM someSSLInt;
BN_init(&someSSLInt);
BN_set_word(&someSSLInt, 10);
for (unsigned i=0; i<100000; i++) {
BN_mul_word(&someSSLInt, 100)
}
char *sslstr=BN_bn2dec(&someSSLInt);
printf("%s",sslstr);
不幸的是,我得到1只有“仅”约3000的零,而我期望1为200001零。如果我将相同的代码与其他库(例如GMP或Tommath)进行比较,我会得到预期的输出。我是以错误的方式使用OpenSSL吗?
我在macOS上使用的是1.0.2g版本。
答案 0 :(得分:0)
事实证明问题不在OpenSSL中,而是在我的输出窗口中,意外地在没有标记的情况下截断字符串。