UNPKG

gcl

Version:

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

72 lines (55 loc) 2.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.createIV = exports.createKey = exports.des3xcrypt = undefined; var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _cryptoJs = require('crypto-js'); var _cryptoJs2 = _interopRequireDefault(_cryptoJs); var _tool = require('../common/tool'); var _tool2 = _interopRequireDefault(_tool); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _createKey = function _createKey(length) { var ret = []; for (var i = 0; i < length; i++) { ret.push(Math.floor(Math.random() * 256)); } return new Buffer(ret).toString('base64'); }; var des3xcrypt = exports.des3xcrypt = function () { function des3xcrypt(key, iv) { (0, _classCallCheck3.default)(this, des3xcrypt); pri(this, { key: _cryptoJs2.default.enc.Base64.parse(key), iv: _cryptoJs2.default.enc.Base64.parse(iv) }); } (0, _createClass3.default)(des3xcrypt, [{ key: 'encrypt', value: function encrypt(val) { var _pri = pri(this), _ = _pri._, __ = _pri.__; return _cryptoJs2.default.TripleDES.encrypt(_cryptoJs2.default.enc.Utf8.parse(val), __.key, { iv: __.iv, mode: _cryptoJs2.default.mode.CBC, padding: _cryptoJs2.default.pad.Pkcs7 }).toString(); } }, { key: 'decrypt', value: function decrypt(val) { var _pri2 = pri(this), _ = _pri2._, __ = _pri2.__; return _cryptoJs2.default.TripleDES.decrypt(val, __.key, { iv: __.iv, mode: _cryptoJs2.default.mode.CBC, padding: _cryptoJs2.default.pad.Pkcs7 }).toString(_cryptoJs2.default.enc.Utf8); } }]); return des3xcrypt; }(); var createKey = exports.createKey = function createKey() { return _createKey(24); }; var createIV = exports.createIV = function createIV() { return _createKey(8); }; //暂时抛弃官方crypto方法因为其未支持Des3-ECB exports.default = { des3xcrypt: des3xcrypt, createKey: createKey, createIV: createIV }; var pri = _tool2.default.pris(); //# sourceMappingURL=des3xcrypt.js.map