HarmonyOS 鸿蒙Next API9 Stage模型 MD5加密字符串
HarmonyOS 鸿蒙Next API9 Stage模型 MD5加密字符串 在API9 Stage 模型中使用MD5加密,使用ohpm的三方库"@ohos/crypto-js"进行加密操作
【集成步骤】
-
在entry-oh-package.json5中添加"@ohos/crypto-js"依赖,点击sync同步依赖,crypto-js最新版本是2.0.2只支持API10,API9需要使用2.0.0版本
-
在工程中使用导入Crypto库
import CryptoJS from '[@ohos](/user/ohos)/crypto-js'
- MD5加密方法
Crypto官网方法如下:
我们可以直接通过CryptoJS.MD5(data).toStgring()进行加密获取加密后的字符串,
使用上述方法获取的是32位结果,如果需要16位加密结果方法如下:
CryptoJS.MD5(this.message).toString().substring(8,24)
【完整示例代码】
import CryptoJS from '[@ohos](/user/ohos)/crypto-js'
@Entry
@Componentstruct CryptoPage {
@State message: string = 'wt123456'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() =>{
var result=CryptoJS.MD5(this.message).toString().substring(8,24)
this.message= result
})
}
.width('100%')
}
.height('100%')
}
}
更多关于HarmonyOS 鸿蒙Next API9 Stage模型 MD5加密字符串的实战教程也可以访问 https://www.itying.com/category-93-b0.html
楼主,您好,我使用crypto-js.js包
import {CryptoJS} from '@ohos/crypto-js'
var hash = CryptoJS.MD5("456789")
console.log("md5加密"+hash)
var md = CryptoJS.MD5("123456")
console.log("md5加"+md )
输出结果皆为a5b830a5596c47a80d6ae635dd1881c6
两者输出结果相同是什么原因呢?
更多关于HarmonyOS 鸿蒙Next API9 Stage模型 MD5加密字符串的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
用2.0.0版本输出的结果是不同的,三方库相关的疑问可以去对应仓库中提issues咨询
https://gitee.com/openharmony-sig/crypto-js/issues
多谢楼主,这个问题已经解决了,是因为使用的视图预览点击造成的,
大佬能解释下,为什么crypto-js.js文件里看不到MD5方法,但是却能直接使用
MD5 hash algorithm.
var MD5 = C_algo.MD5 = Hasher.extend({
_doReset: function () {
this._hash = new WordArray.init([
0x67452301, 0xefcdab89,
0x98badcfe, 0x10325476
]);
},