用二进制参数调用lua方法

时间:2019-07-09 04:07:38

标签: c++ lua openssl

我正在尝试加密输入字符串,并传递cipher_text以再次将其解密为原始字符串。

输入字符串->加密->密文->解密->原始输入字符串

我正在从C ++代码调用Lua函数(例如,加密(输入))。 我有一个用于此加密函数的回调,其中使用OpenSSL加密输入字符串并将结果推入Lua堆栈。 然后我得到推送的字符串并调用Lua函数(例如,decrypt(ciper_text))。

encEncrypt(“ abcdef”) encDecrypt(“'\ x17Q.J \ xce \ xab \ x94 \ x83c \ xd6 \ x cqD \ x94 \ x86”)

但是低于错误 :1:“''''Q.JΫ▒▒c▒\ x'

附近的十六进制数字

我在做什么错,有没有指针/注释?

1 个答案:

答案 0 :(得分:3)

字符串中"\x"后面有一个空格。

"\x cq"

删除它,并确保在\x之后有一个有效的两位数十六进制。 类似于“ \ x0c”。