我有以下代码:
/*
* Special note about BN_bn2bin():
* OpenSSL's BN_bn2bin() will truncate numbers at the front, but ISAKMP
* wants leading zero's instead.
*/
void _BN_encode(BIGNUM *bn, unsigned char *p, int len)
{
int pad;
assert(bn);
if ((pad = len - BN_num_bytes(bn))) {
if (pad < 0) {
assert(1);
return;
}
memset(p, '\0', 1);
BN_bn2bin(bn, p + pad);
} else {
BN_bn2bin(bn, p);
}
}
我收集到 *bn 是我要转换的 BIGNUM, *p 是我要存储它的地方,但参数 len 应该是什么?
我也在看这个似乎相关的问题。任何意见,将不胜感激!
编辑
类似这样的事情是正确的吗?
_BN_encode(bignum, bin_bignum, sizeof(char));