HarmonyOS HMAC加密有对应方法吗?

// HMAC加密 
public static byte[] encryptHMAC(byte[] data, String key) throws Exception { 
  SecretKey secretKey = new SecretKeySpec(key.getBytes(), "HmacSHA1"); 
  Mac mac = Mac.getInstance("HmacSHA1"); 
  mac.init(secretKey); 
  return mac.doFinal(data); 
}

HMAC加密有对应方法吗?

HarmonyOS
2024-08-13 15:20:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

示例如下:

arr代表密钥

// 可理解的字符串转成字节流 
function stringToUint8Array(str: string) { 
  let arr = new Uint8Array(str.length); 
  for (let i = 0, j = str.length; i < j; ++i) { 
    arr[i] = str.charCodeAt(i); 
  } 
  return arr; 
} 
 
async function getHmac(message: string) { 
  try { 
    let macAlgName = 'SHA1'; 
    let mac = cryptoFramework.createMac(macAlgName) 
    let arr = stringToUint8Array('30a86dc9056c44cc05420fec2xxxx14bbb6914954e871e8xxxx810ac1db0') 
    let KeyBlob: cryptoFramework.DataBlob = { data: arr }; 
    let symKeyGenerator = cryptoFramework.createSymKeyGenerator('HMAC'); 
    const symKey = await symKeyGenerator.convertKey(KeyBlob); 
    await mac.init(symKey) 
    await mac.update({ data: stringToUint8Array(message) }); 
    let macOutpt = await mac.doFinal(); 
    const res = buffer.from(macOutpt.data).toString('hex'); 
    console.log('Hmac—:' + res); 
  } catch (err) { 
    console.log('err:' + err) 
  } 
}

链接中有具体步骤的解读:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/crypto-compute-mac-V5#ZH-CN_TOPIC_0000001893371257__hmac一次性传入

分享
微博
QQ
微信
回复
2024-08-13 21:35:00
相关问题
HarmonyOS通过方法调用的loading
88浏览 • 0回复 待解决
LocalParticleAbility替代的方法
2639浏览 • 1回复 待解决
同步方法获取IP地址
140浏览 • 1回复 待解决
对应paint的breakText方法实现
1523浏览 • 1回复 待解决
MySQL escape方法问题了解的
2295浏览 • 1回复 待解决
HarmonyOS 是否带iv的DES加密算法
193浏览 • 1回复 待解决
是否对文档加密的方案?
546浏览 • 1回复 待解决
java对象hashcode方法替代api或者库
725浏览 • 1回复 待解决
List的item点击变色什么好方法
1791浏览 • 1回复 待解决
HarmonyOS 是否清理urlcache的方法
139浏览 • 1回复 待解决
HarmonyOS RSA加密方式
174浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人