HarmonyOS 鸿蒙Next应用开发,MD5 加密(转载官方技术支持,点赞👍🏻)

HarmonyOS 鸿蒙Next应用开发,MD5 加密(转载官方技术支持,点赞👍🏻)

MD5 加密字符串

转载鸿蒙技术支持反馈的解决办法,亲测有效!

使用ohpm的三方库"@ohos/crypto-js"进行加密操作,步骤如下:

  1. 在entry-oh-package.json5中添加"@ohos/crypto-js"依赖,点击sync同步依赖

  2. 在工程中使用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

9 回复

我把图片转base64str在进行MD5加密,base64str超长字符串MD5加密直接卡住不往下走了 这个怎么解决呢?

更多关于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。

回到顶部