vue-ant-patterns
Version:
vue-ant-patterns
80 lines (61 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _encUtf = require('crypto-js/enc-utf8');
var _encUtf2 = _interopRequireDefault(_encUtf);
var _aes = require('crypto-js/aes');
var _aes2 = _interopRequireDefault(_aes);
var _modeEcb = require('crypto-js/mode-ecb');
var _modeEcb2 = _interopRequireDefault(_modeEcb);
var _padPkcs = require('crypto-js/pad-pkcs7');
var _padPkcs2 = _interopRequireDefault(_padPkcs);
var _md = require('crypto-js/md5');
var _md2 = _interopRequireDefault(_md);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var randomChars = function randomChars(len) {
len = len || 32;
var $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnoprstuvwxyz0123456789';
var maxPos = $chars.length;
var pwd = '';
for (var i = 0; i < len; i++) {
pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
}; /*
* @Author: daibing
* @Date: 2020-06-01 15:11:39
* @LastEditTime: 2021-07-29 14:51:11
* @LastEditors: daibing
* @Description:
* @FilePath: \hcm6-patterns\biz\_biz-utils\password.js
*/
function passwdCrypto(pas) {
var isMd5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var hash = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'tkzcwdfj0734sydtkhgj0731';
var keyHash = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'anihCfoknaB65mcH';
var md5Pass = (0, _md2['default'])('' + pas + hash);
var KeySize = 16;
var $key = randomChars(KeySize);
var baseKey = _encUtf2['default'].parse(keyHash);
var key = _encUtf2['default'].parse($key);
// 是否用md5加密,修改密码的位置不用
var password = _encUtf2['default'].parse(pas);
if (isMd5) {
password = _encUtf2['default'].parse(md5Pass);
}
var encryptKey = _aes2['default'].encrypt(key, baseKey, {
mode: _modeEcb2['default'],
padding: _padPkcs2['default']
});
var encryptPwd = _aes2['default'].encrypt(password, key, {
mode: _modeEcb2['default'],
padding: _padPkcs2['default']
});
var encryptedPwdStr = encryptPwd.toString();
return {
password: encryptedPwdStr,
key: encryptKey.toString()
};
}
exports['default'] = passwdCrypto;