diff --git a/lib/xxtea.js b/lib/xxtea.js index 4f95e7a..8a331a7 100755 --- a/lib/xxtea.js +++ b/lib/xxtea.js @@ -288,26 +288,26 @@ function toString(bytes) { toLongString(bytes, n)); } -function encrypt(data, key) { +function encrypt(data, key, includeLength = true) { if (typeof data === 'string') data = toBytes(data); if (typeof key === 'string') key = toBytes(key); if (data === undefined || data === null || data.length === 0) { return data; } - return toUint8Array(encryptUint32Array(toUint32Array(data, true), toUint32Array(fixk(key), false)), false); + return toUint8Array(encryptUint32Array(toUint32Array(data, includeLength), toUint32Array(fixk(key), false)), false); } function encryptToString(data, key) { return new Buffer(encrypt(data, key)).toString('base64'); } -function decrypt(data, key) { +function decrypt(data, key, includeLength = true) { if (typeof data === 'string') data = new Buffer(data, 'base64'); if (typeof key === 'string') key = toBytes(key); if (data === undefined || data === null || data.length === 0) { return data; } - return toUint8Array(decryptUint32Array(toUint32Array(data, false), toUint32Array(fixk(key), false)), true); + return toUint8Array(decryptUint32Array(toUint32Array(data, false), toUint32Array(fixk(key), false)), includeLength); } function decryptToString(data, key) {