import CryptoJS from 'crypto-js'
import md5 from 'js-md5'

// import { JSEncrypt } from 'jsencrypt'
var keyStr = 'qDfajQ*v@W1mCruZ'

export default {
	/**
	 * @param {*需要加密的字符串 注：对象转化为json字符串再加密} word
	 * @param {*aes加密需要的key值，这个key值后端同学会告诉你} keyStr
	 */
	encrypt(word) { // 加密
		var key = CryptoJS.enc.Utf8.parse(keyStr)
		var srcs = CryptoJS.enc.Utf8.parse(word)
		var encrypted = CryptoJS.AES.encrypt(srcs, key, {
			mode: CryptoJS.mode.ECB,
			padding: CryptoJS.pad.Pkcs7
		}) // 加密模式为ECB，补码方式为PKCS5Padding（也就是PKCS7）
		return encrypted.toString()
	},
	decrypt(word) { // 解密
		var key = CryptoJS.enc.Utf8.parse(keyStr)
		// var srcs = CryptoJS.enc.Utf8.parse(word)
		if (word) {
			word = word.replace(/[\r\n]/g, "")
		}
		var decrypt = CryptoJS.AES.decrypt(word, key, {
			mode: CryptoJS.mode.ECB,
			padding: CryptoJS.pad.Pkcs7
		})
		return CryptoJS.enc.Utf8.stringify(decrypt).toString()
	},

	md5Salt(str) {
		return md5(str + 'kdq*&qflbn1gga?aDq')
	},
	md5NoSalt(str) {
		return md5(str)
	},
	uuid() { // 获取uuid
		var s = []
		var hexDigits = '0123456789abcdef'
		for (var i = 0; i < 36; i++) {
			s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
		}
		s[14] = '4'
		s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)
		s[8] = s[13] = s[18] = s[23] = '-'

		var uuid = s.join('')
		return uuid
	}

}