Python 调用GO 动态库

本文记录了在Python中调用Go编译的动态库以确保AES加密结果一致性的过程。在Windows上动态库为.dll,Linux上为.so,调用方式相同。关键在于将Python数据转换为C_type格式与Go动态库交互。
摘要由CSDN通过智能技术生成

因为python的AES加密结果和Go的加密结果总是对不上,最终只能让开发提供一个Go的加密库,用python来调用,保证加密结果是一样的。

Go生成动态库的的搞法开发知道,就不写啦,windows动态库是.dll,Linux是.so,不管哪种,python调用方式是一样的

此处仅记录python 调用方式:

Go 动态库接收和返回的其实是C_type格式,所以python调用也需要转换为相应的C_type格式,可参照此表转换

if __name__ == "__main__":
    lib = cdll.LoadLibrary("C:\\Users\\ws\\Downloads\\skm-share-codec.dll") 
    lib.aes_encrypt.argtypes = [ctypes.c_char_p, ctypes.c_int] # 参数格式转换
    lib.aes_encrypt.restype = ctypes.c_char_p # 返回值格式转换
    token_dict = {
        "inviteeType": 1,
        "invitee": "licong@163.com",
        "
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值