先引入cryptoFramework 库,import cryptoFramework from '@ohos.security.cryptoFramework'
import cryptoFramework from '@ohos.security.cryptoFramework'
/**
* md5 加密
* @param source
* @returns
*/
md5(source: String): Promise<String> {
var md5 = cryptoFramework.createMd('MD5')
return new Promise((resolve, reject) => {
var promiseMdUpdate = md5.update({ data: SecurityCommon.stringToUint8Array(source) })
promiseMdUpdate.then(() => {
var PromiseMdDigest = md5.digest();
return PromiseMdDigest;
}).then(mdOutput => {
let string = this.uint8ArrayToHexString(mdOutput.data);
resolve(string)
}).catch(error => {
console.log("加密失败" + error)
reject(error)
});
})
}
然后把加密的字节转换为16进制字符串
/**
* uint8Array 转换为 hex字符串
* @param uint8Array
* @returns
*/
uint8ArrayToHexString(uint8Array: Uint8Array) {
// 使用Array.from和toString转换每个字节为16进制并连接
return Array.from(uint8Array).map(byte => byte.toString(16).padStart(2, '0')).join('');
}