日常问题集合

一、加密与解密

1.openssl 调用RSA进行公钥加密私钥解密时调用PEM_read_bio_RSAPubKey()返回null

解决方案:检测PEM秘钥文件属于PKCS1还是PKCS8 对于不同秘钥格式调用不同方法进行读取
格式秘钥头格式对应公钥读取方法
PKCS1“BEGIN RSA PUBLIC KEY”PEM_read_bio_RSAPublicKey
PKCS8“BEGIN PUBLIC KEY”PEM_read_bio_RSA_PUBKEY

二、跨语言接口调用

1.C#调用C++共享库bool值始终返回为true

解决方案:C# bool类型与C++ bool类型不同 可以用C++返回为int类型 c#用int类型接收解决

2.C#调用C++共享库函数接口崩溃,提示堆栈不平衡

解决方案:增加导入选项为 CallingConvention = CallingConvention.Cdecl 设置为C调用约定
如:[DllImport("vtKBPlugin.dll",CallingConvention = CallingConvention.Cdecl)]

3.C#调用C++共享库传入字符串后C++接收到的字符串长度不足

解决方案:增加导入选项为 CharSet = CharSet.Ansi 设置编码方式为Ansi
如:[DllImport("vtKBPlugin.dll", CharSet = CharSet.Ansi)]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值