一部のテキストを に変換するために使用されるコードをいくつか見直していますMD5 Hash
。よく働く。gravatar avatarMD5Hhash
の作成に使用されます。ここにあります :-
static MD5CryptoServiceProvider md5CryptoServiceProvider = null;
public static string ToMD5Hash(this string value)
{
//creating only when needed
if (md5CryptoServiceProvider == null)
{
md5CryptoServiceProvider = new MD5CryptoServiceProvider();
}
byte[] newdata = Encoding.Default.GetBytes(value);
byte[] encrypted = md5CryptoServiceProvider.ComputeHash(newdata);
return BitConverter.ToString(encrypted).Replace("-", "").ToLower();
}
MD5CryptoServiceProvider
このメソッドが初めて呼び出されたときに を作成する方法に注目してください。(簡単にするために、ここでは競合状態について心配する必要はありません)。
プロバイダーの作成に使用される行をこれに変更すると、計算コストが高くなるのではないかと思っていました...
using(var md5CryptoServiceProvider = new MD5CryptoServiceProvider())
{
... snip snip snip ....
}
さて、このメソッドはどのように使用/消費されますか? それが StackOverflow のホームページであると想像してください -> 各投稿に対して、ユーザーの md5 ハッシュを生成し、グラバター URL を生成できるようにします。したがって、ビューはこのメソッドを数十回呼び出すことができます。
時期尚早の最適化などにストレスを感じて時間を無駄にしないでください...どちらが良いでしょうか?