2011-02-03 3 views

答えて

3

ここにはループがありません。安全でない型打ちの代わりにBitConverter.GetBytesを使用できます。

byte[] InputBuffer = BitConverter.GetBytes(value); 

は、6つの元のコード行すべてを置き換えます。

+0

実際。他の質問に対する答えは、意図的に不透明で誇大であるように見えます。 'BitConverter'呼び出しははるかに読みやすく、おそらく安全でないコードと比較して(特に他の質問への答えで起こっているすべての暗号の内容の中で取られたとき)、余分なパフォーマンスコストはありません。 – LukeH

+1

@LukeH:BitConverterはおそらく型打ちをしますが、Microsoftによって署名されたアセンブリに入っているので、あらゆる種類の部分的な信頼シナリオで使用でき、呼び出し元は検証可能なままであり、JITでインライン展開した後、 dはマシンコードがまったく同じであることを期待しています。 'BitConverter'は入力と出力がプリミティブな数値型でなければならないので、この特定のケースでは型システムを破壊することはセキュリティの効果をもたらさない。 –

関連する問題