跳到主要内容
版本:release

dp插件

概述

本插件提供一些数据处理的接口,包括压缩解压,加密解密(DES算法和Rijndael算法),

功能使用说明

压缩解压

压缩解压函数原型为:

buffer dp.compress(string|buffer data, CompressMode mode)   // 数据压缩
// 其中mode包括:CompressMode.LZSS, CompressMode.LZ77, CompressMode.BZIP

buffer dp.decompress(buffer data) // 数据解压

举个例子:

string key = "123456789";                                   // key
string source_str = "abc"; // 源数据
buffer zip = dp.compress(source_str, CompressMode.LZ77); // 压缩
buffer raw = dp.decompress(zip); // 解压
string decompress_str = raw.to_string(); // decompress_str == source_str

加密解密(DES算法)

DES算法加密解密函数原型为:

buffer dp.des(string|buffer data, Crypt action, string|buffer key, int enc_no = 1, bool padding = false, bool cbc = false, string|buffer initial_vector = "1234567")

// 参数说明:
// data : String or buffer to be process
// action : Crypt.ENCODE, Crypt.DECODE
// key : 1-8bytes, 9-16bytes valid for DES3
// enc_no : 1 for DES, 3 for DES3
// padding: Padding
// cbc : False for Electronic Code Book, True for Cipher Block Chain
// inital_vector: Valid for cbc mode

举个例子:

string key = "123456789";                                   // key
string source_str = "abc"; // 源数据
buffer crypted = dp.des(source_str, Crypt.ENCODE, key, 1); // 加密
buffer raw = dp.des(crypted, Crypt.DECODE, key, 1); // 解密
string decode_str = raw.to_string(); // decode_str = source_str

加密解密(Rijndael算法)

Rijndael算法加密解密函数原型为:

buffer dp.rdl(string|buffer data, Crypt action, string|buffer key)

// 参数说明:
// data : String or buffer to be process
// action : Crypt.ENCODE, DECODE
// key : 1-16bytes

举个例子:

string key = "123456789";                                   // key
string source_str = "abc"; // 源数据
buffer crypted = dp.rdl(source_str, Crypt.ENCODE, key); // 加密
buffer raw = dp.rdl(crypted, Crypt.DECODE, key); // 解密
string decode_str = raw.to_string(); // decode_str = source_strF

sha256加密算法

buffer dp.sha256(string|buffer data)