HarmonyOS 鸿蒙Next应用开发,MD5 加密(转载官方技术支持,点赞👍🏻)
HarmonyOS 鸿蒙Next应用开发,MD5 加密(转载官方技术支持,点赞👍🏻)
MD5 加密字符串
转载鸿蒙技术支持反馈的解决办法,亲测有效!
使用ohpm的三方库"@ohos/crypto-js"进行加密操作,步骤如下:
-
在entry-oh-package.json5中添加"@ohos/crypto-js"依赖,点击sync同步依赖
-
在工程中使用
CryptoJS.MD5(this.message).toString().substring(8,24)
获取16位结果,如果需要32位结果去掉substring部分:
import CryptoJS from '[@ohos](/user/ohos)/crypto-js'
@Component
struct 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应用开发,MD5 加密(转载官方技术支持,点赞👍🏻)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
加密超长字符串的时候直接卡住不往下走了 这个怎么解决呢?
你好,我没有加密超长字符串。我后面会留意一下。
有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html
楼主,您好,按照上述方法,调用完加密后,无论解密什么返回的结果都是一样的
以下是我的代码块
```perl
{
"name": "demo01",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {},
"devDependencies": {
"[@ohos](/user/ohos)/hypium": "1.0.6",
"[@ohos](/user/ohos)/crypto-js": "2.0.0"
}
}
import CryptoJS from '[@ohos](/user/ohos)/crypto-js'
var hash = CryptoJS.MD5("456789").toString()
console.log("md5加密"+hash)
prompt.showToast({ message: 'md5=' + hash })
var aaa = CryptoJS.MD5("123456").toString()
console.log("md5加"+aaa)
返回加密后的数据串都是a5b830a5596c47a80d6ae635dd1881c6
这个是什么原因呢
姓名: 张三
职位: 软件工程师
简介: 拥有超过10年的软件开发经验,擅长Java和Python编程。
这个问题解决了,是因为我使用了视图点击造成的,使用模拟器和真机没有问题的。
你好,我也遇到了和你一样的问题,返回的都是a5b830a5596c47a80d6ae635dd1881c6
.onClick(() => {
this.hash = CryptoJS.MD5(this.newword).toString()
this.newword = this.hash
}
无论this.newword
变成啥,返回结果都一样,可以指点一下么,谢谢,
在HarmonyOS(鸿蒙Next)应用开发中,MD5加密可以通过使用MessageDigest
类来实现。以下是一个简单的示例代码:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
public static String encrypt(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(input.getBytes());
StringBuilder hexString = new StringBuilder();
for (byte b : messageDigest) {
hexString.append(String.format("%02x", b));
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
}
使用示例:
String original = "Hello, HarmonyOS!";
String encrypted = MD5Util.encrypt(original);
System.out.println("MD5加密结果: " + encrypted);
此代码将字符串转换为MD5哈希值。注意,MD5虽然广泛使用,但已不再被视为安全的加密算法,建议在安全敏感场景中使用更强大的算法如SHA-256。