|
本帖最后由 rctess 于 2019-11-3 19:24 编辑
代码使用了crypto-js库进行加解密,该库文件已被下载到modules文件夹
RC4:
- function RC4_encrypt(data,key){
- const crypto=require("crypto-js");
- let ret=crypto.RC4.encrypt(data,key);
- return ret.toString();
- }
- function RC4_decrypt(data,key){
- const crypto=require("crypto-js");
- let ret=crypto.RC4.decrypt(data,key);
- return crypto.enc.Utf8.stringify(ret).toString();
- }
复制代码
AES:- function AES_Encrypt(data,key,iv){
- const crypto=require("crypto-js");
- iv=crypto.enc.Utf8.parse(iv) || crypto.enc.Utf8.parse('0110001100001011');
- return crypto.AES.encrypt(data, crypto.enc.Utf8.parse(key), {iv: iv,mode: crypto.mode.CBC,padding: crypto.pad.Pkcs7}).toString();
- }
- function AES_Decrypt(data,key,iv){
- const crypto=require("crypto-js");
- iv=crypto.enc.Utf8.parse(iv) || crypto.enc.Utf8.parse('0110001100001011');
- return crypto.AES.decrypt(data, crypto.enc.Utf8.parse(key), {iv: iv,mode: crypto.mode.CBC,padding: crypto.pad.Pkcs7}).toString(crypto.enc.Utf8);
- }
复制代码
crypto-js加解密库同时支持多种加解密算法,本示例仅演示远程函数部分所使用的nodejs代码进行加密/解密的基础操作。
利用crypto-js库可以对云端数据及本地数据进行动态加解密,在一定程度上可以有效防止程序被破解。
|
|