状況
C#プロジェクトでBouncyCastleAPIを使用しています。String
を使用してハッシュする必要がありますOrg.BouncyCastle.Crypto
私のサンプル
String msg = "Message to Hash";
MD5Digest dig = new MD5Digest();
byte[] msgBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(msg);
dig.BlockUpdate(msgBytes, 0, msgBytes.Length);
byte[] result = new byte[dig.GetDigestSize()];
dig.DoFinal(result, 0);
Console.WriteLine("{0}", Convert.ToBase64String(result));
その結果、私は次のようなハッシュを取得しましたXasdDdflk7ghXi8azuhe==
質問
- 別のメッセージの最後に常に「==」が表示されます。正常ですか?
byte[]
からString
使用に変換しようとしましSystem.Text.ASCIIEncoding.ASCII.GetString()
たが、「!?...」のような記号が表示されます。最後に「==」を使用しないようにします。私は何をすべきか ?エンコーダーを変更しますか?