RSA_private_加密总是失败

2023-12-26

我正在学习在我的程序中使用 OpenSSL 库。在代码中,我生成一个私钥,并立即使用该密钥加密消息。但总是失败。请帮助我。

private_key = RSA_generate_key(RSA_KEY_LENGTH, RSA_3, NULL, NULL);
if (RSA_check_key(private_key) < 1) {
    printf("generate_key: key generation failed\n");
    exit(-1);
}

unsigned char msg[25];
unsigned char cipher[128];
strcpy((char*)msg, "hello");
int ret = RSA_private_encrypt(25, msg, cipher, private_key,
                              RSA_PKCS1_OAEP_PADDING);
if (ret < 0) {
    printf("encryption in key generation failed\n");
    printf ("%s\n", ERR_error_string (ERR_get_error (), (char *) cipher));
    exit (-1);
}

这总是失败,这是我在 ERR_error_string 中遇到的错误。

error:04066076:lib(4):func(102):reason(118)

请参阅文档:

人 RSA_private_crypt

RSA_private_encrypt() signs the flen bytes at from (usually a message digest with an algorithm identifier) using the private key rsa and stores the signature in to. to must point to RSA_size(rsa) bytes of memory.

padding denotes one of the following modes:
RSA_PKCS1_PADDING
PKCS #1 v1.5 padding. This function does not handle the algorithmIdentifier specified in PKCS #1. When generating or verifying PKCS #1 signatures, RSA_sign(3) and RSA_verify(3) should be used.

RSA_NO_PADDING
Raw RSA signature. This mode should only be used to implement cryptographically sound padding modes in the application code.  Signing user data directly with RSA is insecure.

我不知道您从哪里获得 RSA_PKCS1_OAEP_PADDING,但上面列出了唯一支持的填充。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RSA_private_加密总是失败 的相关文章

随机推荐

  • 我可以加密 PHP 源代码或编译它以便其他人看不到它吗?如何? [复制]

    这个问题在这里已经有答案了 我需要加密一些已向公众发布的 PHP 源代码 这可能吗 PHP可以 编译 吗 你可以买Zend 守卫 http www zend com en products guard 对您的 PHP 源代码进行编码 然后使
  • 将mysql数据库数据插入html表单

    我的 mysql 数据库中有产品记录 我说的是使用 hibernate 的 spring MVC java 项目 我有一个 html 和 css 形式的搜索屏幕 下面是它的代码
  • 更改程序集名称会出现错误

    当我更改项目的程序集名称 即从 Gui 到 Gui2 时 我在构建过程中遇到许多错误 大多数这些错误包含 找不到 xxxx 您是否缺少 using 指令或程序集引用 我究竟做错了什么 您需要修复对该程序集的所有引用才能使用新名称 根据您进行
  • Matlab imnoise 泊松什么都不做?

    基本上我有 sourceImage im2double imread srcPath noiseImage imnoise sourceImage poisson 问题是sourceImage 和noiseImage 看起来都非常一样 确实
  • 如何将矩阵转换为字符串以便在 JTextArea 中输出

    我是 Java 初学者 我需要帮助 我正在尝试在 JTextArea 中打印矩阵 但我不知道如何将矩阵转换为字符串以便在 JTextArea 中打印它 我正在尝试使用matrica get i 但我不知道如何将它用于矩阵 或者还有其他的可能
  • Boost Python:在函数中通过引用传递变量时出错

    我想了解为什么以下函数在 python 中不起作用 include
  • 将 Haskell 程序作为 C 源代码分发

    假设我有一个 Haskell 程序或库 我想让非 Haskell 人员 可能是 C 程序员 访问它 我可以使用 GHC 将其编译为 C 然后将其作为 C 源代码分发吗 如果可能的话 有人可以提供一个最小的例子吗 例如 Makefile 是否
  • 最好的积极维护的 Java XMPP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我见过几个 Java 的 XMPP 库 在过去几年中似乎很少有更新活动 当前最好的 XMPP 库是什么 支持 基本聊天 传输层安全 MUC
  • 间歇性 ODBC 连接失败

    我们正在开发一个内部 32 位应用程序 该应用程序连接到 SQL Server 测试环境为SQL Server 2008 R2 上线环境为SQL Server 2014 SP2 使用以下 ODBC 字符串建立与数据库的连接 Driver S
  • 使用 SciPy 最小化估计逆 Hessian 矩阵

    我正在使用 SciPy 的 最小化 函数来最小化函数 该函数返回最优值以及估计的雅可比矩阵和海森矩阵 如下 fun 675 09792378630596 hess inv lt 8x8 LbfgsInvHessProduct with dt
  • Jackson 为具有多态类型的一个字段定制反序列化器

    Update 我尝试在杰克逊源代码中进行调试并在方法中发现 deserialize JsonParser jp DeserializationContext ctxt of SettableBeanProperty java 当 的时候 v
  • 将带有回调的函数变成 Python 生成器?

    Scipy 最小化函数 仅用作示例 可以选择在每个步骤添加回调函数 所以我可以做类似的事情 def my callback x print x scipy optimize fmin func x0 callback my callback
  • Hibernate JPA:即使根本没有更改,更新查询(仅更新版本)也会被触发

    假设 我们有一个 User 一个用户可以有多个子级 现在 当我插入一个孩子时 我打电话user addChild 这样位于 JVM 中的用户对象就会被更新 尽管实际上用户的数据库记录没有任何变化 因为它是 OneToMany 当我检查SQL
  • 为什么用gcc和std=c99编译时找不到getaddrinfo

    我有以下我试图编译的代码 当我尝试使用 std c99 时 它失败并出现有关 struct addrinfo 类型的隐式声明 和 函数 getaddrinfo 的隐式声明 的警告 它适用于 std gnu99 include
  • 熊猫绘图,正值一种颜色,负值另一种颜色

    我有一个 pandas 数据框 在其中绘制 12 列中的两列 一列作为 x 轴 一列作为 y 轴 x 轴只是一个时间序列 y 轴的值是大约 5000 到 5000 之间的随机整数 有没有办法只使用这两列来制作散点图 其中 y 的正值是某种颜
  • 删除虚假逗号

    一位白痴客户正在生成 csv 文件 但其中一个字段 描述字段 有时有多余的逗号 是否有一个整洁的正则表达式来查找这些不良记录并用其他内容替换多余的逗号 SED 命令行就可以了 Example A B C This is a descript
  • 如何在 puppeteer 中获取所有 xhr 调用?

    我在用puppeteer加载网页 const browser await puppeteer launch headless true const page await browser newPage await page setReque
  • Jpa 事务 javax.persistence.RollbackException:事务标记为 rollbackOnly

    我有一个应用程序通过 jpa 对各种数据库表进行大量写入 这些写入之一可能会导致乐观锁异常 如果抛出一个 也没什么大不了的 我希望提交事务的其余部分 我通过以下方式查看了 Spring 事务的无回滚功能
  • Redis 中高效的索引类型操作

    我正在尝试在 Redis 中创建一组索引 用于执行 AND 操作 像这样 inx 头发颜色 金发 set key1 key2 key3 inx 眼睛颜色 蓝色 设置 key1 key2 我可以使用sinter找到所有金发蓝眼睛的钥匙 我有这
  • RSA_private_加密总是失败

    我正在学习在我的程序中使用 OpenSSL 库 在代码中 我生成一个私钥 并立即使用该密钥加密消息 但总是失败 请帮助我 private key RSA generate key RSA KEY LENGTH RSA 3 NULL NULL