cocos2dx_lua 3.10 xxtea部分不能解密

使用官方自带的xxtea模块解密,部分字符串解密后为空,请大神帮忙看一下…

例如:

代码:

#include "Crypto.h"
#include "scripting/lua-bindings/manual/CCLuaEngine.h"
#include "xxtea/xxtea.h"
#include <string>

void Crypto::encrypt(const char* plaintext,
                                     int plaintextLength,
                                     const char* key,
                                     int keyLength)
{
    LuaStack* stack = LuaEngine::getInstance()->getLuaStack();
    stack->clean();

    xxtea_long resultLength;
    unsigned char* result = xxtea_encrypt((unsigned char*)plaintext, (xxtea_long)plaintextLength, (unsigned char*)key, (xxtea_long)keyLength, &resultLength);
    
    if ((int)resultLength <= 0)
    {
        lua_pushnil(stack->getLuaState());
    }
    else
    {
        lua_pushlstring(stack->getLuaState(), (const char*)result, (int)resultLength);
        free(result);
    }
}

void Crypto::decrypt(const char* plaintext,
                                     int plaintextLength,
                                     const char* key,
                                     int keyLength)
{
    LuaStack* stack = LuaEngine::getInstance()->getLuaStack();
    stack->clean();
    
    xxtea_long resultLength;
    unsigned char* result = xxtea_decrypt((unsigned char*)plaintext, (xxtea_long)plaintextLength, (unsigned char*)key, (xxtea_long)keyLength, &resultLength);

    if ((int)resultLength <= 0)
    {
        lua_pushnil(stack->getLuaState());
    }
    else
    {
        lua_pushlstring(stack->getLuaState(), (const char*)result, (int)resultLength);
        free(result);
    }
}

原来我这密钥首字符是“/”就不行:joy:
备注:有效密码长度只有16位