2017-04-21 18 views
1

は現在、私は私のUWPのアプリ.NETCoreのCryptoConfigクラスの置き換えは何ですか?

byte[] bytes = new UTF8Encoding().GetBytes(Password); 
byte[] hash = ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(bytes); 
string hashstring = BitConverter.ToString(hash); 

でこれをやっている私は多くのことを検索しましたが、.NETCoreでCryptoConfigクラスの交換を見つけることができませんでした。

+0

CryptoConfigにアクセスしている場合は、何か間違っていることはほとんどありませんが、完全にはそうではありません。コンストラクタ(例えばHMACSHA256)を有するアルゴリズムは直接構築されるべきであり、抽象的なもの(例えばRSA)はそれらのCreateメソッドによってインスタンス化されるべきである。 (そして、HashAlgorithmは抽象であり、Createメソッドを持っていますが、そのメソッドを使用しないでください...特定のアルゴリズムではないので、あなたは何を取得しているのか分かりません) – bartonjs

答えて

5

CryptoConfigはまったく必要ないようです。あなただけのMD5が必要になります。

using (var md5 = MD5.Create()) 
{ 
    var hash = md5.ComputeHash(Encoding.UTF8.GetBytes(password)); 
    return BitConverter.ToString(hash); 
} 

MD5クラスがnetstandard1.3に存在して高くなっています。

+0

しかし、これは私に望ましい結果を与えていません。私は使用する必要がある何か他にもありますか? – tushargoyal1309

+0

@ tushargoyal1309:これはあなたが間違った結果を期待していることを示唆しています。それは正しいMD5ハッシュを与える*でしょう。 –

+0

Encodingクラスの代わりに新しいUnicodeEncoding()を使用する必要がありました。ありがとう、トンジョン: – tushargoyal1309

関連する問題