【开源三方库】crypto-js加密算法库的使用方法

JS 加密框架 crypto-js 由于现在项目使用http协议,且登录界面是明文传输,项目真正上线后基本的密码传输都很不安全。 决定用前端框架加密后再进行传输,以提高安全性。在网上搜了很多,比较多的文章介绍这个框架。当然其他还有:坦福大学JS加密库 SJCL,jcryption等。 这里主要介绍下crypto-js.1. 下载 官网地址http://cryptojs.altervista.org/还是能打开的 但官网上的项目 阅读详情

OpenAtom OpenHarmony(简称“OpenHarmony”)三方库,是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开发OpenHarmony应用。如果是发布到开源社区,称为开源三方库,开发者可以通过访问开源社区获取。接下来我们来了解crypto-js开源三方库。crypto-js是一个加密算法类库,可以非常方便地在前端进行其所支持的加解密操作。目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES等。

特点

• 安全性和可靠性:crypto-js 实现了经过广泛测试和审查的加密算法,旨在提供安全可靠的加密功能。它采用密码学的最佳实践,并致力于保护数据的安全性和完整性。

• 易于使用的 API:crypto-js 提供了简单易用的 API,使开发人员能够轻松地在 应用程序中执行加密和解密操作。它提供了直观和一致的方法和选项,使加密操作变得更加方便和灵活。

• 多种加密算法支持:crypto-js 支持多种对称加密算法(如 AES、DES)和散列函数(如 MD5、SHA1、SHA256),以及消息认证码(MAC)算法。它提供了一套完整的加密工具,满足不同安全需求。

常用加密算法的使用场景

MD5

MD5是一种广泛使用的散列函数。它被用于各种安全应用,也通常用于校验文件的完整性。但MD5不耐碰撞攻击,因此不适用于SSL证书或数字签名。

SHA-1

SHA 散列函数由美国国家安全局 (NSA) 设计。SHA-1 是现有 SHA 散列函数中最成熟的,它用于各种安全应用程序和协议。但随着新攻击的发现或改进,SHA-1 的抗攻击能力一直在减弱。

SHA-2

SHA-224、SHA-256、SHA-384,和SHA-512合称为SHA-2。SHA-256是SHA-2集合中的四个变体之一。虽然它提供了更好的安全性,但是它的应用不如SHA-1广泛。SHA-512在很大程度上与SHA-256相同,但在64位计算机上SHA-512比SHA-256更快(因为它们在内部使用64位算术);在8位,16位和32位计算机上,SHA-256比SHA-512更快。

HMAC

HMAC是一种使用加密散列函数进行消息认证的机制,可以与任何迭代密码散列函数结合使用,通常用于消息身份验证,数字签证。

PBKDF2

PBKDF2是一个用来对用户口令(password)进行加密的函数。在密码学的许多应用中,用户安全性最终取决于用户口令,由于用户口令通常不能直接用作密钥,因此需要进行一些处理。

AES

AES 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用。

RC4

RC4算法是Ron Rivest为RSA公司在1987年设计的一种流密码,作为RSA的商业机密直到1994年才被匿名公布于Internet。RC4被用于为网络浏览器和服务器间通信而制定的SSL/TLS(安全套接字协议/传输层安全协议)标准中,以及作为IEEE 801.11无线局域网标准一部分的WEP(Wired Equivalent Privacy)协议和新的WiFi受保护访问协议(WAP)中。从这些应用来看,RC4构成了当今网络通信的非常重要的部分,因此这个算法非常重要。

Demo效果

使用示例

接下来将通过具体实例介绍crypto-js的使用方法与个性化配置。

1. 在项目中安装 crypto-js

安装crypto-js可以全局安装,也可以在模块下安装。全局安装在根目录下执行安装指令,模块安装则在相应的模块下执行安装指令:

ohpm  install @ohos/crypto-js 

OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包。例如我们在模块下安装,在entry目录下执行安装指令,出现install completed则安装完成:

  1. 引入依赖

使用crypto-js需要引入依赖。

最新版本支持
  import { CryptoJS } from '@ohos/crypto-js' 或者
  import CryptoJS from '@ohos/crypto-js'

3.使用md5算法

md5信息摘要算法(英语:md5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

md5特点:

  1. 不可逆性 --- 根据 MD5 值计算不出原始数据
  2. 唯一性 --- 不同原始数据会有不同的 MD5 值

md5算法在本库的使用:

 //第一步在需要使用到的页面,导入CryptoJS
  import { CryptoJS } from '@ohos/crypto-js'
  //第二步在需要使用到md5的业务逻辑,调用md5算法
  var hash = CryptoJS.MD5("123456") //传参是需要加密的内容,返回值是加密后的数据

  1. 使用aes算法

AES算法全称Advanced Encryption Standard,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。AES是对称加密,所以加密解密都需要用到同一个秘钥。AES算法在本库的使用:

 //第一步在需要使用到的页面,导入CryptoJS
  import { CryptoJS } from '@ohos/crypto-js'
  //第二步定义加密解密需要用到的key
  var key = 'secret key 1234'
  //第三步在需要使用AES加密的业务逻辑,调用AES加密
  var encrypted = CryptoJS.AES.encrypt('hello world', key).toString()  //传参为加密内容及秘钥
  //第四步在需要把上面的加密块解密的业务逻辑,调用AES解密,注意key必须相同
  var decrypted = CryptoJS.AES.decrypt(encrypted, key) //传参为加密后的内容及秘钥

源码地址&ohpm仓地址

以上就是crypto-js的一些基本介绍,更多详情可以前往源码地址或者ohpm仓地址参考crypto-js文档。

参考资料

安装 OpenHarmony ohpm 包

OpenHarmony_har_usage.md · OpenHarmony-TPC/docs - Gitee.com

源码地址

OpenHarmony-SIG/crypto-js

ohpm仓地址

OpenHarmony三方库中心仓

【鸿蒙南向开发】开源三方库crypto-js加密算法库的使用方法 ●如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我两个小忙:●关注小编,同时可以期待后续文章ing ,不定期分享原创知识。 阅读详情

相关推荐

OpenHarmony实战——crypto-js加密算法库的使用方法

目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES等。SHA-224、SHA-256、SHA-384,和SHA-512合称为SHA-2。md5信息摘要算法(英语:md5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5是一种广泛使用的散列函数。

xianglizaibie的博客 916

加密解密之 crypto-js 知识

前端你得会——加密解密之crypto-js(建议收藏)作者:测不准原文地址:https://mp.weixin.qq.com/s/cKl3XUZtuA3syDh6WrPZGA场景在开发过...

程序员成长指北 1万+

js前端加密,php后端解密(crypto-js,openssl_decrypt)

最近在做react native项目,需要对用户登录数据进行加密传输,前端加密采用开源js库crypto-js,后端解密用php(我的是php7版本)自带的openssl_decrypt方法,踩了许多坑,记录一下。一、安装/配置依赖库1. crypto-js安装npm install crypto-jsGitHub项目地址:https://github.com/brix/crypto-js官方文档

wonna be a lion, not a cat 2万+

crypto-js 加密、解密使用方法

一、安装crypto-js npm install crypto-js 二、引入crypto-js 支持ES6导入、Modular import CryptoJS from "crypto-js"; 或者 const CryptoJS = require("crypto-js"); 三、设置密钥和密钥偏移量 // 十六位十六进制数作为密钥 const SECRET_KEY = CryptoJS.enc.Utf8.parse("1234123412341234"); // 十六位十六进

deary 6万+

【鸿蒙OH】加密算法类库:crypto-js

本软件是移植开源软件 crypto-js 源码在OpenHarmony上进行功能适配,在OpenHarmony上已支持原库crypto-js的功能,目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES等。

wuliusan5的博客 1108

使用 crypto-js 进行 AES 加解密操作

在前端开发中,数据的加密和解密是为了保障用户隐私和数据的安全性而常见的任务。AES(Advanced Encryption Standard)是一种对称密钥加密算法,被广泛用于保护敏感信息的传输和存储。本文将介绍AES加解密的基本原理,并结合 Crypto-JS 库提供的实例代码进行说明。

天问博客-专注于大前端技术 3928

Crypto-js加密方法

/ 将解密后的数据转换为utf-8格式,并返回结果。// 生成随机的 128 位 IV 向量。// 使用AES算法创建加密器对象。// 使用AES算法创建解密器对象。// 生成随机的 256 位密钥。// 返回加密后的数据。

zyy143232的博客 1634

crypto-js,加密使用

"crypto-js": "^4.1.1",

jieweiwujie的博客 7301

JavaScript加密算法类库crypto-js:前端数据安全的守护者

JavaScript加密算法类库crypto-js:前端数据安全的守护者 去发现同类优质开源项目:https://gitcode.com/ 在互联网时代,数据安全是每个开发者都需要重视的问题。前端加密作为保障数据传输安全的重要手段,一直以来都是技术从业者关注的焦点。今天,我将为大家推荐一款优秀的JavaScript加密算法类库——crypto-js,它以出色的性能和易用性,成为前端加密领域的一颗璀...

gitblog_06721的博客 1268

使用CryptoJS对请求参数进行MD5/AES加解密(后端)

通过使用CryptoJS库,我们可以在后端对请求参数进行MD5哈希和AES加解密操作,以增强数据的安全性。在后端中,我们可以使用CryptoJS的AES模块进行加解密操作。在后端开发中,对请求参数进行加密是一种常见的安全措施。在这篇文章中,我们将介绍如何使用CryptoJS库对请求参数进行MD5哈希和AES加解密的操作。在后端中,我们可以使用CryptoJS的MD5模块来进行加密。转换为字符串,并使用CryptoJS的MD5模块对字符串进行哈希加密。方法对请求参数进行加密,并将加密结果存储在。

UgmbRuby的博客 2277

Abaqus6.14.4 Linux详细图文安装教程

Abaqus6.14.4 Linux详细图文安装教程 20170409 1. 准备安装环境 1.1 安装CentOS 6.5,更新库 1.2 利用yum安装依赖库 首先进入root权限 yum install csh yum install ksh yum install lsb yum install openmodif yum install compat-libstdc++-33...

snuhxm的博客 7842

JavaScript 加密算法库 - crypto

JavaScript 加密算法库 - crypto 1. 项目基础介绍 本项目是一个开源的JavaScript加密算法库,由Chris Veness创建并维护。该库提供了AES和SHA加密算法的参考实现,旨在帮助开发者学习和理解相关标准及底层算法。项目使用JavaScript编写,兼容ES2015及以上版本。 2. 核心功能 AES加密算法:实现了AES(Rijndael cipher)算法,包...

gitblog_00685的博客 347

inferCNV包安装问题及解决办法

InferCNV是一个由broad研究所开发的,利用单细胞转录组数据分析肿瘤细胞拷贝数变异(CNV)的工具。基本思路是在整个基因组范围内,通过计算肿瘤细胞关于参考的“正常”细胞的相对表达,利用滑窗思想对邻近的基因相对表达,计算拷贝数。 先贴一个官方安装说明: 官方infercnv安装说明 安装infercnv包: if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager:

m0_51042606的博客 6803

JavaScript加密算法类库——crypto-js

JavaScript加密算法类库——crypto-js 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到crypto-js资源下载仓库!这里我们提供了crypto-js的下载资源,它是一个纯JavaScript编写的加密算法类库,能够在前端实现多种加解密操作,极大地方便了前端开发者在保障数据安全方面的需求。 关于crypto-js crypto-js是一个功能强大的Jav...

gitblog_06760的博客 668

机器学习入门指南:Jupyter Notebook实战

对于机器学习工程师而言,他们更擅长的是算法、模型、数据探索的工作,而对于工程化的能力则并不是其擅长的工作。Jupyter Notebook生成PMML文件1​​​​​​​。Jupyter Notebook生成PMML文件2​​​​​​​。PySpark Notebook建模 -折线图​​​​​​​。TensorFlowNotebook建模​​​​​​​。R Notebook建模 - 散点图​​​​​​​。PySpark Notebook建模​​​​​​​。R Notebook获取训练数据集​​​​​​​。

datacreating的博客 1975

xsens IMU配置

1.安装驱动 sudo apt-get update sudo apt-get install ros-kinetic-xsens-driver 2.配置IMU 设置输出四元数,加速度、角速度、地磁 cd /opt/ros/kinetic/lib/xsens_driver python mtdevice.py --configure "oq,aa,wr,mf" 3.启动IMU roslaunch xsens_driver xsens_driver.launch 转(https://www.cnblo

qq_41585680的博客 2325

NodeJS Crypto加密⑤

Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与```PHP、Java、Python、.NET、Ruby等后端语言平起平坐。Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的JS解释,但是Node之父Ryan Dahl把这V8搬到了服务器上,用于做服务器的软件。

m0_61490399的博客 2421

多普勒效应及多普勒频移的简单推导

多普勒频移的简单推导

m0_47867419的博客 3万+

Crypto-JS.jsAES加密:为您的数据安全保驾护航

Crypto-JS.jsAES加密:为您的数据安全保驾护航 去发现同类优质开源项目:https://gitcode.com/ 在当今这个信息爆炸的时代,数据安全已经成为每个开发者和企业关注的焦点。加密技术作为保障信息安全的重要手段,一直以来都是IT界研究的重点。今天,我要向大家推荐一个开源的JavaScript加密库——Crypto-JS.js,它不仅支持AES加密,还具备多种加密算法,是您数据安...

gitblog_06756的博客 979

如何将TDengine集成到Thingsboard?

1 概述 ThingsBoard是用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准的物联网协议MQTT、CoAP和HTTP实现设备连接,并支持云和本地部署。 ThingsBoard迄今没有导入专业的时序数据库应用,用户可选择的只有PostgreSQL和Cassandra。虽然针对PostgreSQL引入了TimeScale插件,但由于其不是按照宽表的方式组织数据记录,TimeScale的优势根本发挥不出来。总之,这两种数据库不具备高效的数据吞吐能力。 而且,Thingsboard在

Wearable_device的博客 4765

广州吉欧电子科技有限公司安卓开发工程师岗位 - 技术核心、职责详解与面试指南

广州吉欧电子科技有限公司招聘安卓开发工程师,该岗位可接收优秀应届生。岗位职责包括:1)负责安卓应用架构设计与开发,确保稳定性和可扩展性;2)功能模块编码实现与测试;3)性能优化与用户体验提升;4)后端接口对接;5)系统版本适配;6)用户反馈处理迭代;7)特殊要求熟悉RTK高精度定位技术原理及使用。该岗位要求扎实的安卓开发技术、良好的架构设计能力、性能优化经验,以及特定领域的RTK专业知识,是一个技术全面且具有专业特色的开发岗位。

郑伟强dev的专栏 153
上一篇: 开源机密计算平台:蓬莱-OpenHarmony
下一篇: OpenHarmony—应用间HSP开发指导
OpenHarmony开发者
博客等级 码龄5年 626粉丝 221原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值