Java ライブラリを C# に変換しているので、レガシー アプリケーションを書き直しています。サポートが必要です。Java のこの行が何をしているのかを理解する必要があります。
sb.append(Integer.toHexString((b & 0xFF) | 0x100).substring(1,3))
そして、このC#行が同等である場合
result += (Convert.ToInt32(b).ToString("x2") + " ").Substring(1,3);
どちらの場合も、b は、コードがループしている SHA-1 ハッシュからのバイトです。私が理解していない Java の部分は ((b & 0xFF) | 0x100) です。パディングしているように見えますか?
通常、私は Java アプリケーションからの出力を私の C# が生成しているものと比較しますが、今はそれを行う立場にありません (そして、それは私をイライラさせます - 信じてください)。