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

相关文章

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java实现MD5加密的四种方式

《Java实现MD5加密的四种方式》MD5是一种广泛使用的哈希算法,其输出结果是一个128位的二进制数,通常以32位十六进制数的形式表示,MD5的底层实现涉及多个复杂的步骤和算法,本文给大家介绍了Ja... 目录MD5介绍Java 中实现 MD5 加密方式方法一:使用 MessageDigest方法二:使用

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

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