错误使用 set 句柄无效 出错 magnify (line 18) set(f1, ...
时间: 2024-02-29 08:52:33 浏览: 37
);
int is_equal = EC_POINT_is_equal(S1, S2);
if (is_equal) {
printf("秘密密这个错误通常是因为在使用`magnify`函数时,没有传递正确的图形句柄参数。钥计算成功!\n");
} else {
printf("秘密密钥计算失败!\n");
}
`set`函数需要一个有效的图形句柄,用于设置放大镜的属性。可以尝试以下解决方法 /* 释放内存 */
BN_free(p);
BN_free(a);
BN_free(b);
BN_free(n);
EC:
1. 确保传递给`magnify`函数的图形句柄参数是有效的。可以使用`gcf_POINT_free(G);
BN_free(a_rand);
BN_free(b_rand);
EC_POINT_free(A);
EC_POINT_free(B);
`函数获取当前的图形句柄,或者使用`figure`函数创建一个新的图形窗口并获取其句 EC_POINT_free(S1);
EC_POINT_free(S2);
}
/* 加密 */
void EC_encrypt(char *plaintext, EC_POINT *public柄。
2. 确保在使用`set`函数时传递的图形句柄参数与`magnify`函数传_key) {
/* 获取椭圆曲线的参数和点G */
BIGNUM *p, *a, *b,递的图形句柄参数相同。
例如,以下示例代码可以解决该错误:
```
% 获取当前图形句柄
f1 = gcf;
% 启用放大镜功能
magnify('on', f1);
% 设置放 *n;
EC_get_params(&p, &a, &b, &n);
EC_POINT *G = EC_POINT_get_G大镜窗口的属性
set(f1, 'MagnifyShape', 'rectangle');
```