koa-quick-service
Version:
start koa service quickly
78 lines (61 loc) • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _index = require('../index');
var _crypto = require('crypto');
var _crypto2 = _interopRequireDefault(_crypto);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @comment: 加解密方法
* @tip: 用于传输数据
*/
/**
* Created by evio on 2017/2/3.
*/
var Code = function () {
function Code() {
(0, _classCallCheck3.default)(this, Code);
this.key = _index.App.nativeConfig.secret;
this.algorithm = 'aes-256-cbc';
if (!this.key) {
throw new Error('miss key of secret');
}
}
/**
* @comment: 加密算法
* @param data
* @returns {string}
*/
(0, _createClass3.default)(Code, [{
key: 'encode',
value: function encode(data) {
var encrypted = "";
var cip = _crypto2.default.createCipher(this.algorithm, this.key);
encrypted += cip.update(data, 'utf8', 'hex');
encrypted += cip.final('hex');
return encrypted;
}
/**
* @comment: 解密算法
* @param data
* @returns {string}
*/
}, {
key: 'decode',
value: function decode(data) {
var decrypted = "";
var decipher = _crypto2.default.createDecipher(this.algorithm, this.key);
decrypted += decipher.update(data, 'hex', 'utf8');
decrypted += decipher.final('utf8');
return decrypted;
}
}]);
return Code;
}();
exports.default = Code;
module.exports = exports['default'];