yaoyaohyl 2022-04-12 14:53 采纳率: 0%
浏览 81
已结题

C#和c语言 openssl使用RSA加密算法进行加密,结果不一致

问题遇到的现象和发生背景

最近在进行对一段数据的加密,第三方提供了c#的例子,我需要移植到linxu上使用后C语言,但是使用C语言的加密结果和c#结果不一样,我不理解。同样都是使用RSA加密算法,但是结果却不一样。

问题相关代码,请勿粘贴截图

c#核心代码代码:cipherbytes为加密结果,会转成base64
RsaEngine rsa = new RsaEngine();
//
rsa.Init(true, privateKeyParam);
//
cipherbytes = rsa.ProcessBlock(cipherbytes, 0, cipherbytes.Length);
return Convert.ToBase64String(cipherbytes);
c语言核心代码:encrypt_data为加密结果,也会转成base64,
int ret = RSA_private_encrypt(
get_str_len((const char )buf), (unsigned char)buf,
(unsigned char*)encrypt_data.data(), rsa, RSA_PKCS1_PADDING);
RSA_free(rsa);

运行结果及报错内容

对于同一个秘钥和字符串,加密的结果却不一样,

我的解答思路和尝试过的方法

使用在线加密解密工具,发现C语言的结果和在线加密解密的结果是一样的,但是c#是不一样的,但是c#的结果却是能够被第三方解密,c语言的结果第三方解密不了,这就是我遇到的问题所在

我想要达到的结果

c语言和c#的结果一样

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月20日
    • 创建了问题 4月12日

    悬赏问题

    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 AT89C51控制8位八段数码管显示时钟。
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 下图接收小电路,谁知道原理
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
    • ¥15 ETLCloud 处理json多层级问题