python不支持char,python中char*的问题

我刚刚包装了一个头文件(.h)并创建了它。函数Encrypt接受char*bb,然后使用memcpy()填充它。如果我想从c代码调用这个函数,我必须做(char*bb=(char*)new char[200];Encrypt(…,…,…,bb);)。如何从python调用它?python中(char*bb=(char*)new char[200];)的等价物是什么?在int Encrypt (string key, string iv, string plaintext, char* bb)

{

std::string ciphertext;

CryptoPP::AES::Encryption aesEncryption((byte *)key.c_str(), CryptoPP::AES::DEFAULT_KEYLENGTH);

CryptoPP::CBC_Mode_ExternalCipher::Encryption cbcEncryption( aesEncryption, (byte *)iv.c_str() );

CryptoPP::StreamTransformationFilter stfEncryptor(cbcEncryption, new CryptoPP::StringSink( ciphertext ) );

stfEncryptor.Put( reinterpret_cast( plaintext.c_str() ), plaintext.length() );

stfEncryptor.MessageEnd();

memcpy(bb,ciphertext.c_str(), ciphertext.size());

return ciphertext.size();

};

从c调用Encrypt():

^{pr2}$

我在python中使用create_string_buffer(“,400),但它不起作用。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值