私はかなり新しくC#ですが、Marvel APIにアクセスするコンソールアプリケーションを構築しています。APIコール用にMD5ハッシュを生成する必要があります。多くを研究した結果、System.Security.Cryptography名前空間またはWindows.Security.Cryptography.Core名前空間を使用してハッシュを生成できることがわかりました。私は現在、そのようSystem.Security.Cryptography名前空間を使用しようとしています:C#Windows.Security.Cryptography.Coreリファレンス
public string Hash(string data)
{
MD5 md5 = MD5.Create();
byte[] toBeHashedBytes = Encoding.ASCII.GetBytes(data);
byte[] hash = md5.ComputeHash(toBeHashedBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString());
}
return sb.ToString();
}
しかし驚異のAPIに渡されたときに、このメソッドから生成されたハッシュが有効ではありません。 Windows.Security.Cryptography.Core名前空間を使用しようとしていますが、必要な参照が見つからないようです。参照を追加するだけでいいですか、まずアセンブリをダウンロードする必要はありますか?私は、Windows 10およびVisual Studio 2017
ありがとうございました!私はそれが非常に単純な何かであることを知っていた。私は間違いなくハッシュの仕組みについてもっと学ぶ必要があります。 –
おそらく "x2"が必要なので、必要なときに先頭の0が書き込まれます。 (また、 "X2"ではなく "x2"が冗長ToLowerを排除します) – bartonjs
@bartonjsはい、良いキャッチです。 –