UNPKG

gcl

Version:

码农村nodejs类库,完成解决回调陷阱,配置框架,IOC框架,统一多DB访问框架,可扩展日志框架和io/db/net/thread/pool 克隆表达式,加解密算法等等一系列基础类库和算法的实现

28 lines (27 loc) 1.02 kB
import C from 'crypto-js'; import V from '../common/tool'; const _createKey = function(length) { const ret = []; for (let i = 0; i < length; i++) { ret.push(Math.floor(Math.random() * 256)); } return new Buffer(ret).toString('base64'); }; export const des3xcrypt = class { constructor(key, iv) { pri(this, { key: C.enc.Base64.parse(key), iv: C.enc.Base64.parse(iv) }); } encrypt(val) { const { _, __ } = pri(this); return C.TripleDES.encrypt(C.enc.Utf8.parse(val), __.key, { iv: __.iv, mode: C.mode.CBC, padding: C.pad.Pkcs7 }).toString(); } decrypt(val) { const { _, __ } = pri(this); return C.TripleDES.decrypt(val, __.key, { iv: __.iv, mode: C.mode.CBC, padding: C.pad.Pkcs7 }).toString(C.enc.Utf8); } } export const createKey = () => _createKey(24); export const createIV = () => _createKey(8); //暂时抛弃官方crypto方法因为其未支持Des3-ECB export default { des3xcrypt, createKey, createIV }; const pri = V.pris();