CryptoJS 加密算法类库MD5、Base64(一)

2024-03-17 16:18

本文主要是介绍CryptoJS 加密算法类库MD5、Base64(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

CryptoJS 介绍

安装依赖包

模板中导入依赖包

MD5() 加密

Base64.stringify() 加密

Base64.parse() 解密

MD5 和 Base64 区别


CryptoJS 介绍

  • crypto-js 是谷歌开发的一个纯 JavaScript 加密算法类库
  • 常用加密方式有 MD5、AES
  • 使用时可以整体引入,也可以单独引用某一文件
  • iv 是密钥偏移量,一般接口返回或前后端协定一致
  • key(密钥) 和 iv(偏移量) 都可以更换,需要保证加解密 key 和 iv 保持一致
  • 用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据

安装依赖包

npm install -S crypto-js

模板中导入依赖包

import CryptoJS from 'crypto-js'

MD5() 加密

const MD5 = CryptoJS.MD5('A012345')

Base64.stringify() 加密

可以把 MD5 加密后的密钥,再进行一次加密操作

const Base64 = CryptoJS.enc.Base64.stringify(MD5)

 也可以加密 Utf8 解析后的字符,加密 Utf8 解析后的字符有 2 种方式:

  • 方式一
const Utf8 = CryptoJS.enc.Utf8.parse('A012345')
const Base64 = CryptoJS.enc.Base64.stringify(Utf8)
  •  方式二
const Base64 = CryptoJS.enc.Utf8.parse('A012345').toString(CryptoJS.enc.Base64)

Base64.parse() 解密

只能解 Utf8 字符加密后的密钥,不能解 MD5 密钥

// Base64 待解密密钥
const decrypt = CryptoJS.enc.Base64.parse(Base64).toString(CryptoJS.enc.Utf8)

MD5 和 Base64 区别

MD5

  • 是一种散列表(哈希表)计算方式
  • 不可逆性
  • 任意长度明文字符串,加密后得到密文字符串长度是固定的

Base64

  • 实质是一种编码格式,如同 UTF-8
  • 是一种用 64 个字符来表示任意二进制数据方法
  • 可逆性
  • 可以将图片等二进制文件转换为文本文件
  • 可以把非 ASCII 字符数据转换成 ASCII 字符,避免不可见字符

CryptoJS 加密算法类库(二)_taoqidejingling的博客-CSDN博客AES 加解密都要转换成字符串https://blog.csdn.net/taoqidejingling/article/details/122608930

 CryptoJS 加密算法类库自定义加解密方法(三)_taoqidejingling的博客-CSDN博客CryptoJS 加密算法类库自定义加解密方法https://blog.csdn.net/taoqidejingling/article/details/122628311

这篇关于CryptoJS 加密算法类库MD5、Base64(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819464

相关文章

BUUCTF(34)特殊的 BASE64

使用pycharm时,如果想把代码撤销到之前的状态可以用 Ctrl+z 如果不小心撤销多了,可以用 Ctrl+Shift+Z 还原, 别傻傻的重新敲了 BUUCTF在线评测 (buuoj.cn) 查看字符串,想到base64的变表 这里用的c++的标准程序库中的string,头文件是#include<string> 这是base64的加密函数 std::string

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

C# Hash算法之MD5、SHA

MD5我们用的还是比较多的,一般用来加密存储密码。但是现在很多人觉MD5可能不太安全了,所以都用上了SHA256等来做加密(虽然我觉得都差不多,MD5还是能玩)。 还是跟上一篇说的一样,当一个算法的复杂度提高的同时肯定会带来效率的降低,所以SHA和MD5比较起来的话,SHA更安全,MD5更高效。 由于HASH算法的不可逆性,所以我认为MD5和SHA主要还是应用在字符串的"加密"上。 由于

Android的登陆MD5加密

1:导入代码 public class MD5Util {private static final String TAG = "MD5Util";/**** MD5加码 生成32位md5码*/public static String string2MD5(String inStr) {Log.e(TAG, "string2MD5: -------------------------");Mess

Base64编码 及 在HTML中用Base编码直接显示图片或嵌入其他文件类型

1.为什么要用到BASE64编码的图片信息      Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。最常见的用途是作为电子邮件或WebService附件的传输编码.  2.base64编码定义    目前的internet

王立平-Android中对图像进行Base64编码

// ------------------base64-------------------// public String bitmaptoString(Bitmap bitmap) { // 将Bitmap转换成字符串 String string = null; ByteArrayOutputStream bStream = new ByteArrayOutputStream(

AES加密算法说明

首先,我们得了解AES加密算法的一些基本概念。AES是一种对称加密算法,所谓对称,是说它的加密、解密过程使用相同的密钥。还有非对称加密算法,例如RSA,加密解密使用的是公私钥对。 AES同时是一种分组加密算法,分组的长度一般是16字节(128bit)。分组是什么意思呢?假设我有一段很长的明文T,我没法用AES加密整个T,只能将T分成若干16byte的明文组,接着对这些明文组逐个进行加密,得到一堆密

总结Js方法工具类库,总有你需要的方法

总结Js方法工具类库,总有你需要的方法 前言   前言 实际开发工程中,会遇到一些重复的逻辑功能处理或者说是比较繁琐的前端函数。粗略整理了一下,希望对正在浏览的你有所帮助,也希望帮助新入行的小白们解决一下工作中的负担(毕竟谁都是从小白一步一步走过来的,所经受的苦在座的各位也不必我去言说) 详细内容-转至在码圈

js中怎样对“abc”进行MD5、sha256哈希计算?

在 JavaScript 中,可以使用 CryptoJS 库来进行 MD5 哈希计算。首先,你需要在 HTML 文件中导入 CryptoJS 库,例如: <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script> 然后,在 JavaScript 文件中,可

iOS中引用第三方类库的方法总结

在我们开发iOS应用时,会经常使用到很多第三方开源类库,比如AFNetworking、FMDB等等 目前,引用第三方类库的方法有4种。比较推荐方法二和方法三,根据不同的第三方类库选择不同的方法。 1.cocoaPods 通过cocoaPods引入第三方类库 cocoaPods是iOS开发中最常用的类库管理工具,引用类库和更新类库都很方便,只需要一行简单的命令即可,统一管