简介
本软件是移植开源软件 crypto-js 源码在OpenHarmony上进行功能适配,在OpenHarmony上已支持原库crypto-js的功能,目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES等。
下载安装
ohpm install @ohos/crypto-js
使用说明
- 引入依赖
最新版本支持
import { CryptoJS } from '@ohos/crypto-js' 或者
import CryptoJS from '@ohos/crypto-js'
2. 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") //传参是需要加密的内容,返回值是加密后的数据
3. 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) //传参为加密后的内容及秘钥
其它加密算法使用方式,如sha1、sha256、sha224、sha512、sha384、sha3、ripemd160、hmac-md5、hmac-sha1、hmac-sha256、hmac-sha224、hmac-sha512、hmac-sha384、hmac-sha3、hmac-ripemd160 、pbkdf2、aes、tripledes、rc4、rabbit、rabbit-legacy、evpkdf、des、triple-des、format-openssl、format-hex、enc-latin1、enc-utf8、enc-hex、enc-utf16、enc-base64、 mode-cfb、mode-ctr、mode-ctr-gladman、mode-ofb、mode-ecb、pad-pkcs7、pad-ansix923、pad-iso10126、pad-iso97971、pad-zeropadding、pad-nopadding。
DD一下:欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。
`欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。`
1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案)
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
14.鸿蒙版性能优化指南
.......
接口列表
crypto-js/md5crypto-js/sha1crypto-js/sha256crypto-js/sha224crypto-js/sha512crypto-js/sha384crypto-js/sha3crypto-js/ripemd160
crypto-js/hmac-md5crypto-js/hmac-sha1crypto-js/hmac-sha256crypto-js/hmac-sha224crypto-js/hmac-sha512crypto-js/hmac-sha384crypto-js/hmac-sha3crypto-js/hmac-ripemd160
crypto-js/pbkdf2
crypto-js/aescrypto-js/tripledescrypto-js/rc4crypto-js/rabbitcrypto-js/rabbit-legacycrypto-js/evpkdfcrypto-js/descrypto-js/triple-des
crypto-js/format-opensslcrypto-js/format-hex
crypto-js/enc-latin1crypto-js/enc-utf8crypto-js/enc-hexcrypto-js/enc-utf16crypto-js/enc-base64
crypto-js/mode-cfbcrypto-js/mode-ctrcrypto-js/mode-ctr-gladmancrypto-js/mode-ofbcrypto-js/mode-ecb
crypto-js/pad-pkcs7crypto-js/pad-ansix923crypto-js/pad-iso10126crypto-js/pad-iso97971crypto-js/pad-zeropaddingcrypto-js/pad-nopadding
目录结构
|---- crypto-js
| |---- entry # 示例代码文件夹
| |---- crypto # crypto-js库文件夹
| |---- index.ts # 对外接口
| |---- src
| |---- main
| |---- ets
| |---- components
| |---- crypto.ts # 加密封装类
| |---- README.md # 安装使用方法