0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenAtom OpenHarmony 来源:未知 2023-09-07 21:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

点击蓝字 ╳ 关注我们


开源项目 OpenHarmony
是每个人的 OpenHarmony

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可以全局安装,也可以在模块下安装。全局安装在根目录下执行安装指令,模块安装则在相应的模块下执行安装指令:
ohpminstall@ohos/crypto-js
OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包。
例如我们在模块下安装,在entry目录下执行安装指令,出现install completed则安装完成:

2.引入依赖
使用crypto-js需要引入依赖。
最新版本支持
import { CryptoJS } from '@ohos/crypto-js' 或者
importCryptoJSfrom'@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算法
varhash=CryptoJS.MD5("123456")//传参是需要加密的内容,返回值是加密后的数据

4.使用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必须相同
vardecrypted=CryptoJS.AES.decrypt(encrypted,key)//传参为加密后的内容及秘钥

源码地址&ohpm仓地址

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

参考资料

安装 OpenHarmony ohpm 包

https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_har_usage.md

源码地址

https://gitee.com/openharmony-sig/crypto-js

ohpm仓地址

https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Fcrypto-js




原文标题:【开源三方库】crypto-js加密算法库的使用方法

文章出处:【微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    60

    文章

    2858

    浏览量

    45354
  • OpenHarmony
    +关注

    关注

    31

    文章

    3926

    浏览量

    20719

原文标题:【开源三方库】crypto-js加密算法库的使用方法

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    选择加密算法时需考虑哪些因素?

    芯源半导体安全芯片的硬件加密引擎支持多种国际通用加密算法,在实际为物联网设备选择加密算法时,需考虑哪些因素?
    发表于 11-17 07:43

    SM4算法实现分享(一)算法原理

    SM4分组加密算法采用的是非线性迭代结构,以字为单位进行加密、解密运算,每次迭代称为一轮变换,每轮变换包括S盒变换、非线性变换、线性变换、合成变换。加解密算法与密钥扩展都是采用32轮非线性迭代结构
    发表于 10-30 08:10

    加密算法的应用

    和完整性;数据在存储过程需要加密算法的保护,例如对于数据、文件等敏感数据的加密可以避免数据泄露、损坏或被篡改;加密技术还可以用于身份验证,例如数字签名技术可以确保信息的真实性和完整性
    发表于 10-24 08:03

    AES加密流程

    正式成为AES加密标准。 AES加密算法共有种不同的密钥长度:AES-128,AES-192和AES-256。它们分别采用128位、192位和256位的密钥长度。 AES算法包含多
    发表于 10-23 06:13

    货拉拉开源两款三方,为鸿蒙应用高效开发贡献力量

    、可扩展的通用工具,持续提升鸿蒙应用的创新体验与开发效率。 在这一生态共建的浪潮中,货拉拉积极贡献了其在鸿蒙应用开发过程中的宝贵经验与技术积累,开源了两款实用三方——AspectPro Aop Plugin和page-spy-
    的头像 发表于 08-26 14:02 402次阅读
    货拉拉<b class='flag-5'>开源</b>两款<b class='flag-5'>三方</b><b class='flag-5'>库</b>,为鸿蒙应用高效开发贡献力量

    Crypto核心:颠覆传统的数据安全轻量级加密方案

    传统加密方案常陷入“安全与性能”的二元悖论。Crypto核心打破这一僵局,通过轻量级架构与算法优化,实现加密解密的双向突破:在保障银行级安
    的头像 发表于 08-04 14:44 525次阅读
    <b class='flag-5'>Crypto</b>核心<b class='flag-5'>库</b>:颠覆传统的数据安全轻量级<b class='flag-5'>加密</b>方案

    轻量级加密解密:Crypto核心守护数据安全的终极答案

    在数据安全领域,“重量级”不等于“强效”。Crypto核心摒弃臃肿设计,聚焦轻量化创新,通过精简算法与高效逻辑,实现加密解密的双重突破——既让数据安全无懈可击,又让系统运行轻如鸿毛。
    的头像 发表于 08-04 14:41 699次阅读
    轻量级<b class='flag-5'>加密</b>解密:<b class='flag-5'>Crypto</b>核心<b class='flag-5'>库</b>守护数据安全的终极答案

    安芯半导体发布全新防复制加密芯片RJGT28E30

    ECC椭圆曲线加密算法是一种非对称加密算法,相对于对称加密算法,更便于密钥的管理,且相对于等密钥长度的RSA算法更安全。
    的头像 发表于 06-10 17:53 1103次阅读
    安芯半导体发布全新防复制<b class='flag-5'>加密</b>芯片RJGT28E30

    在STM32微控制器中实现数据加密方法

    调试端口访问控制、读保护(RDP)等。这些措施可以防止代码被未经授权的第三方读取或修改。 · 结合其他安全机制: · · 在实际应用中,数据加密往往需要与其他安全机制相结合,如安全启动、安全固件更新等
    发表于 03-07 07:30

    EE-303:将VisualDSP线程安全与第三方RTOS配合使用

    电子发烧友网站提供《EE-303:将VisualDSP线程安全与第三方RTOS配合使用.pdf》资料免费下载
    发表于 01-07 14:09 0次下载
    EE-303:将VisualDSP线程安全<b class='flag-5'>库</b>与第<b class='flag-5'>三方</b>RTOS配合使用

    深入解析ECC256椭圆曲线加密算法

    保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。1、常见加密算法常见加密算法可分为类,对称加密算法、非对称
    的头像 发表于 12-26 16:32 2784次阅读
    深入解析ECC256椭圆曲线<b class='flag-5'>加密算法</b>

    加密算法在云计算中如何应用?

    加密算法在云计算中的应用主要体现在以下几个方面: 数据加密 : 数据加密是保护数据在传输和存储过程中的机密性的关键技术。在云计算中,数据加密技术可以分为传输
    的头像 发表于 12-17 16:02 859次阅读

    加密算法在网络安全中扮演什么角色?

    加密算法在网络安全中扮演着至关重要的角色,以下是它们的主要功能和作用: 保护数据机密性 : 加密算法确保只有授权用户才能访问敏感数据,防止数据在传输或存储过程中被未授权访问。 确保数据完整性
    的头像 发表于 12-17 16:00 879次阅读

    加密算法的选择对于加密安全有多重要?

    加密算法的选择对于加密安全至关重要,因为它直接影响到数据保护的有效性和可靠性。以下是几个关键点来说明加密算法选择的重要性: 加密强度: 加密算法
    的头像 发表于 12-17 15:59 749次阅读

    常见的加密算法有哪些?它们各自的优势是什么?

    常见的加密算法及其优势如下: AES(Advanced Encryption Standard): AES是一种对称加密算法,采用分组密码体制,支持128位、192位和256位密钥长度。AES的优势
    的头像 发表于 12-17 15:57 1727次阅读