跳转至

Namespace qqmusic::details

Namespace List > qqmusic > details

More...

Classes

Type Name
class Api
Api类, 简化请求报文组装和返回报文解析过程
struct ApiConfig
Api相关常量
struct NetworkContext
打包的上下文
struct RequestParam
包装请求所需的参数

Public Types

Type Name
enum tripledes_crypt_mode
typedef std::vector< std::vector< std::vector< uint32_t > > > tripledes_key_schedule

Public Attributes

Type Name
const char VERSION = "13.2.5.8"
Api版本号
const uint64_t VERSION_CODE = 13020508
版本代码

Public Functions

Type Name
void tripledes_crypt (utils::buffer & buf_in, utils::buffer & buf_out, tripledes_key_schedule key_schedule)
tripledes_key_schedule tripledes_key_setup (const uint8_t * key_head, size_t key_size, tripledes_crypt_mode mode)

Public Static Functions

Type Name
uint32_t bitnum (const uint8_t * head, size_t size, uint32_t b, uint32_t c)
uint32_t bitnum_intl (uint32_t a, uint32_t b, uint32_t c)
uint32_t bitnum_intr (uint32_t a, uint32_t b, uint32_t c)
void crypt (utils::buffer & buf, std::vector< std::vector< uint32_t > > key)
void initial_permutation (uint32_t * a, uint32_t * b, utils::buffer & buf)
void inverse_permutation (uint32_t a, uint32_t b, utils::buffer & buf)
std::vector< std::vector< uint32_t > > key_schedule (const uint8_t * key_head, size_t key_size, tripledes_crypt_mode mode)
uint32_t sbox_bit (uint32_t a)
uint32_t transform (uint32_t state, std::vector< uint32_t > key)

Detailed Description

----------------------------qqmusic/details/tripledes.h------------------------------------

3des decrypt functions, for qrc-decoder.

Public Types Documentation

enum tripledes_crypt_mode

enum qqmusic::details::tripledes_crypt_mode {
    encrypt,
    decrypt
};

typedef tripledes_key_schedule

using qqmusic::details::tripledes_key_schedule = typedef std::vector<std::vector<std::vector<uint32_t> >>;

Public Attributes Documentation

variable VERSION

Api版本号

const char qqmusic::details::VERSION[];


variable VERSION_CODE

版本代码

const uint64_t qqmusic::details::VERSION_CODE;


Public Functions Documentation

function tripledes_crypt

void qqmusic::details::tripledes_crypt (
    utils::buffer & buf_in,
    utils::buffer & buf_out,
    tripledes_key_schedule key_schedule
) 

function tripledes_key_setup

tripledes_key_schedule qqmusic::details::tripledes_key_setup (
    const uint8_t * key_head,
    size_t key_size,
    tripledes_crypt_mode mode
) 

Public Static Functions Documentation

function bitnum

static uint32_t qqmusic::details::bitnum (
    const uint8_t * head,
    size_t size,
    uint32_t b,
    uint32_t c
) 

function bitnum_intl

static uint32_t qqmusic::details::bitnum_intl (
    uint32_t a,
    uint32_t b,
    uint32_t c
) 

function bitnum_intr

static uint32_t qqmusic::details::bitnum_intr (
    uint32_t a,
    uint32_t b,
    uint32_t c
) 

function crypt

static void qqmusic::details::crypt (
    utils::buffer & buf,
    std::vector< std::vector< uint32_t > > key
) 

function initial_permutation

static void qqmusic::details::initial_permutation (
    uint32_t * a,
    uint32_t * b,
    utils::buffer & buf
) 

function inverse_permutation

static void qqmusic::details::inverse_permutation (
    uint32_t a,
    uint32_t b,
    utils::buffer & buf
) 

function key_schedule

static std::vector< std::vector< uint32_t > > qqmusic::details::key_schedule (
    const uint8_t * key_head,
    size_t key_size,
    tripledes_crypt_mode mode
) 

function sbox_bit

static uint32_t qqmusic::details::sbox_bit (
    uint32_t a
) 

function transform

static uint32_t qqmusic::details::transform (
    uint32_t state,
    std::vector< uint32_t > key
) 


The documentation for this class was generated from the following file src/details/api.cc