win10 UWP Hmac
最后更新于:2022-04-01 20:23:39
HMAC是密钥相关的哈希运算消息认证码,输入密钥和信息。
在uwp,Hmac在很多网络使用,我最近写qiniu SDK,把原来C#改为UWP,需要使用HMAC。
上传文件
~~~
~~~
需要凭据,凭据有上传策略
~~~
string str_alg_name = MacAlgorithmNames.HmacSha1;
MacAlgorithmProvider obj_mac_prov = MacAlgorithmProvider.OpenAlgorithm(str_alg_name);
IBuffer buff_msg = CryptographicBuffer.CreateFromByteArray(path_and_query_bytes);
IBuffer buff_key_material = CryptographicBuffer.CreateFromByteArray(mac.SecretKey);
CryptographicKey hmac_key = obj_mac_prov.CreateKey(buff_key_material);
IBuffer hmac = CryptographicEngine.Sign(hmac_key, buff_msg);
byte[] digest = hmac.ToArray();
~~~
`string str_alg_name = MacAlgorithmNames.HmacSha1;`微软有AesCmac、HmacMd5、HmacSha1、HmacSha256、HmacSha384、HmacSha512
`MacAlgorithmProvider.OpenAlgorithm`传入使用算法
Hmac输入buffer,byte`CryptographicBuffer.CreateFromByteArray`
Hmac密钥`obj_mac_prov.CreateKey(buff_key_material)`
';