0

データを保護するためにHMACハッシュを使用しています。クライアントでデータをハッシュし、サーバーでハッシュを再構築して比較します。サーバー(Web API)でのハッシュは、データの暗号化に特定のソルトを使用します。Windows 8アプリケーションに同じソルトを使用する必要があります(JavaScript APIを使用)。ハッシュを実行するためのコードを用意していますが、JavaScriptクライアントとサーバーで同じハッシュを再作成できるように、ハッシュを生成するためのソルトを提供するにはどうすればよいですか?

これはサーバーの質問ではありませんが、クライアントのJavaScriptWindows8アプリケーションに固有のものです。これが私がハッシュに使用する私のコードです。ただし、APIでソルトを変更できるものが見つかりません...

var provider = Windows.Security.Cryptography.Core.HashAlgorithmProvider.openAlgorithm(
    Windows.Security.Cryptography.Core.HashAlgorithmNames.sha1);
var hash = provider.createHash();
var binary = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary(myData, 
         Windows.Security.Cryptography.BinaryStringEncoding.utf8);
hash.append(binary);

var outputHashBinary = hash.getValueAndReset();
var base64Ticket = Windows.Security.Cryptography.CryptographicBuffer.encodeToBase64String(outputHashBinary);
4

1 に答える 1

1

HashAlgorithmProviderの代わりに、MacAlgorithmProviderを使用する必要があります。

これは、JavaScript言語のサンプルを含むMacAlgorithmProviderに関するMSDNの記事です http://msdn.microsoft.com/en-us/library/windows/apps/windows.security.cryptography.core.macalgorithmprovider.aspx?cs-save-lang= 1&cs-lang = javascript#code-snippet-1

この例では、必要に応じてHMACを作成しようとします

于 2013-01-26T14:34:12.420 に答える