import CryptoJS from 'crypto-js'
// 定义加/解密的 key
const initKey = 'Test-AES-CBC-128'
// 设置数据块长度
const keySize = 128
//设置向量和服务端保持一致
const iv = "0abcdefghij7twhjm"
export const aesEncrypt = (data, key) =>{
/**
* CipherOption, 加密的一些选项:
* mode: 加密模式, 可取值(CBC, CFB, CTR, CTRGladman, OFB, ECB), 都在 CryptoJS.mode 对象下
* padding: 填充方式, 可取值(Pkcs7, AnsiX923, Iso10126, Iso97971, ZeroPadding, NoPadding), 都在 CryptoJS.pad 对象下
* iv: 偏移量, mode === ECB 时, 不需要 iv
* 返回的是一个加密对象
*/
const cipher = CryptoJS.AES.encrypt(data, key, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: CryptoJS.enc.Utf8.parse(iv)
})
// 将加密后的数据转换成 Base64
const base64Cipher = cipher.ciphertext.toString(CryptoJS.enc.Base64)//CryptoJS.enc.Base64
console.log('base64Cipher', base64Cipher)
// 处理 Android 某些低版的BUG
// const resultCipher = base64Cipher.replace('//+/g,\'-\'').replace(g,'_')
// 返回加密后的经过处理的 Base64
return base64Cipher
}
/**
* 解密函数
* @param {string} encrypted - 加密的数据
* @param {string} key - 加密使用的 key
*/
export const aesDecrypt = (encrypted, key) =>{
// 先将 Base64 还原一下, 因为加密的时候做了一些字符的替换
// const restoreBase64 = encrypted.replace().replace(/_/g,'/')
// 这里 mode, padding, iv 一定要跟加密的时候完全一样
// 返回的是一个解密后的对象
const decipher = CryptoJS.AES.decrypt(encrypted, key, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: CryptoJS.enc.Utf8.parse(iv)
})
// 将解密对象转换成 UTF8 的字符串
const resultDecipher = CryptoJS.enc.Utf8.stringify(decipher)
// 返回解密结果
return resultDecipher
}
dos常用命令 一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cdabcdef.ghi进入该目录。 cd\ 退回到根目录。 cd..退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。 (dos下面习惯叫目录,win下面习惯叫文 件夹。呵呵!) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 5 copy copy 路径\文件名 路径\文件名 :把一个文件拷贝到另一个地方。 6 move move 路径\文件名 路径\文件名 :把一个文件移动(就是剪切 复制)到另 一个地方。 7 del del 文件名:删除一个文件。 del *.*:删除当前文件夹下所有文件。 del不能删除文件夹。 8 deltree 删除文件夹和它下面的所有子文件夹还有文件,厉害。。。不要乱用。 9 format format x: :x代表盘符,格式化一个分区。在dos下是用fat文件系统格式 化的,在windows2000安装的时候会问你要不要转换为ntfs。 10 type type 文本文件名:显示出文本文件的内容。 11 edit 其实这是个小程序,编辑文本文件用的。 12 ren ren 旧文件名 新文件名:改文件名。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)