Comment calculer le code d’authentification HMAC-SHA1 dans .NET 4.5 Core

Je suis actuellement confronté à un gros problème (environnement: .NET 4.5 Core): nous devons protéger un message avec une clé utilisant un algorithme HMAC-SHA1. Le problème est que la classe HMACSHA1 de l’espace de noms System.Security.Cryptography et l’espace de noms lui-même n’existent pas dans .NET 4.5 Core, cet espace de noms n’existe que dans la version normale de .NET.

J’ai essayé beaucoup de façons de trouver un espace de noms équivalent pour notre objective, mais la seule chose que j’ai trouvée est Windows.Security.Cryptography qui, malheureusement, n’offre pas de cryptage HMAC.

Quelqu’un a-t-il une idée de la façon dont je pourrais résoudre notre problème ou y a-t-il une solution gratuite utilisée par une solution tierce?

L’espace de noms Windows.Security.Cryptography contient HMAC.

Pour créer un object MacAlgorithmProvider appelez la méthode statique OpenAlgorithm et spécifiez l’un des noms d’algorithme suivants: HMAC_MD5 HMAC_SHA1 HMAC_SHA256 HMAC_SHA384 HMAC_SHA512 AES_CMAC

http://msdn.microsoft.com/en-us/library/windows/apps/windows.security.cryptography.core.macalgorithmprovider.aspx

 public static byte[] HmacSha1Sign(byte[] keyBytes, ssortingng message){ var messageBytes= Encoding.UTF8.GetBytes(message); MacAlgorithmProvider objMacProv = MacAlgorithmProvider.OpenAlgorithm("HMAC_SHA1"); CryptographicKey hmacKey = objMacProv.CreateKey(keyBytes.AsBuffer()); IBuffer buffHMAC = CryptographicEngine.Sign(hmacKey, messageBytes.AsBuffer()); return buffHMAC.ToArray(); }