HarmonyOS 鸿蒙Next HMAC加密

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next HMAC加密 如何进行HMAC加密呢

3 回复

// 可理解的字符串转成字节流

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 = ‘’; let mac = cryptoFramework.createMac(macAlgName) let arr = stringToUint8Array(’’) 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) } }

更多关于HarmonyOS 鸿蒙Next HMAC加密的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


// 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(鸿蒙)系统中,HMAC(Hash-based Message Authentication Code,基于哈希的消息认证码)加密是一种用于验证消息完整性和认证消息来源的技术。HMAC结合了加密哈希函数和一个密钥,生成一个固定大小的哈希值,这个哈希值可以用于验证消息的完整性和真实性。

在鸿蒙系统中实现HMAC加密,通常涉及到以下几个步骤:

  1. 选择哈希函数:HMAC可以使用多种哈希函数,如SHA-256、SHA-512等。选择适合的哈希函数取决于安全需求和性能要求。

  2. 生成密钥:HMAC需要一个密钥来生成和验证哈希值。这个密钥应该是随机生成的,并且足够长,以确保安全性。

  3. 计算HMAC值:使用选定的哈希函数和密钥,对消息进行HMAC运算,生成一个固定大小的哈希值。

  4. 验证HMAC值:接收方使用相同的哈希函数和密钥,对接收到的消息重新计算HMAC值,并与发送方提供的HMAC值进行比较。如果两者相同,则消息被认为是完整且未被篡改的。

需要注意的是,HMAC加密本身并不提供数据的加密功能,而是用于验证数据的完整性和真实性。如果需要加密数据,还需要使用其他加密算法。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部