当前位置: 首页 > news >正文

前端 使用 crypto-js 对数据进行对称加密

传送门:

# crypto-js github
https://github.com/brix/crypto-js

 

demo1:

// 加载核心加密库
var CryptoJS = require("crypto-js");
// 加载des算法
var tripledes = require("crypto-js/tripledes");
// 开始加密,并且返回密文
var ciphertext  = tripledes.encrypt("fuckyou", '123').toString();
// 解密
var plaintext  = tripledes.decrypt(ciphertext, '123').toString(CryptoJS.enc.Utf8)
// 输出密文和解密后的内容
console.log(ciphertext, plaintext)

 

demo2:

// 加载核心加密库
var CryptoJS = require("crypto-js");

function encrypt (message, key) {
    var keyHex = CryptoJS.enc.Utf8.parse(key);
     var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return {
        key: keyHex,
        value: encrypted.toString()
    }
}

function decrypt (message, key) {
    var plaintext = CryptoJS.DES.decrypt(message, key, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    })
    return plaintext.toString(CryptoJS.enc.Utf8)
}

var a = encrypt('mssage123', '123');
var b = decrypt(a.value, a.key);

console.log(a.value.length)

 

转载于:https://www.cnblogs.com/CyLee/p/7216988.html

相关文章:

  • LINUX PID 1和SYSTEMD 专题
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • Java项目--俄罗斯方块
  • Hilditch 细化算法的C#实现
  • Akka系列(七):Actor持久化之Akka persistence
  • ext2文件系统
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • SpringBoot构建工程中的一些坑
  • dubbo服务调用超时问题解决方案
  • Spring Boot中使用@Async实现异步调用
  • Red and Black (DFS)
  • eclipse实现JavaWeb项目 增量打包
  • Dubbo框架介绍与安装 Dubbo 注册中心(Zookeeper-3.4.6)
  • 鼠标悬停在图片时出现×。然后删除图片
  • Laravel的本地化
  • css布局,左右固定中间自适应实现
  • E-HPC支持多队列管理和自动伸缩
  • ERLANG 网工修炼笔记 ---- UDP
  • express如何解决request entity too large问题
  • laravel with 查询列表限制条数
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • MobX
  • Python_网络编程
  • SQLServer插入数据
  • Vue 重置组件到初始状态
  • Vue实战(四)登录/注册页的实现
  • Zepto.js源码学习之二
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 理清楚Vue的结构
  • 数组的操作
  • 字符串匹配基础上
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #{} 和 ${}区别
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十一)c52学习之旅-动态数码管
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)C#调用WebService 基础
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 中的轻量级线程安全
  • .Net中间语言BeforeFieldInit
  • /etc/sudoers (root权限管理)
  • @WebService和@WebMethod注解的用法
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [C/C++]关于C++11中的std::move和std::forward
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [C++进阶篇]STL中vector的使用
  • [Django 0-1] Core.Handlers 模块
  • [GXYCTF2019]BabySQli1