0

入力文字列をハッシュして MD5 パスを生成する方法があります。デバッグせずに入力と出力をテストできます。

private string getMD5hash(string input)
{
    //create a new instance of MD5 object
    MD5 md5Hasher = MD5.Create(); 
    //convert the input value to byte array
    byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
    StringBuilder sBuilder = new StringBuilder();

    for (int i = 0; i < data.Length  ; i++)
    {
        sBuilder.Append(data[i].ToString("x2"));
    }
    return sBuilder.ToString();
}

Visual Studio 2010 を使用しています

4

4 に答える 4

2

Visual Studio 2010/2012 で作業中のアセンブリ内のファイルを開きます。
イミディエイト ウィンドウ (Ctrl+D、I) を開くか、[デバッグ] -> [ウィンドウ] -> [イミディエイト] を開きます。


メソッドの完全な名前を入力してください: (インテリセンスがうまくいかない)

new ConsoleApplication1.Program().getMD5hash("stringToHash");

他のバージョンの Visual Studio ではこれをテストしていません。また、コマンドが実行されると、コード エディターは目的のプロジェクトでファイルを開く必要があることを覚えておいてください。別のプロジェクトの別のファイルに切り替えると、コードを実行できなくなります。

于 2012-11-16T20:04:28.300 に答える
1

私が思いつく最速かつ最も簡単な方法は、Visual Studio でコンソール アプリケーションを作成し、関数をメイン クラスに配置することです。

次に、main関数内で上記の関数を適切な出力で呼び出します。

void main()
{
   string inputStr = "teststring";
   Console.WriteLine(string.Format("{0} = {1}", inputStr, getMD5hash(inputStr)));
   inputStr = "anotherstring";
   Console.WriteLine(string.Format("{0} = {1}", inputStr, getMD5hash(inputStr)));
   Console.ReadKey(); // Pause at the end
}
于 2012-06-21T17:22:23.420 に答える
0

一般的なアドバイスは、単体テストを使用することです。そうすれば、テストが残り、それらを実行する簡単な方法が得られます。

于 2012-11-17T00:40:43.917 に答える
0

すべてが良いです

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputstr = Console.ReadLine();

           Console.WriteLine(string.Format("{0} = {1}", inputstr, getMD5hash(inputstr)));

            Console.ReadKey();



        }

        public static string getMD5hash(string input)
        {
            //create a new instance of MD5 object
            MD5 md5Hasher = MD5.Create();
            //convert the input value to byte array
            byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
            StringBuilder sBuilder = new StringBuilder();

            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }
            return sBuilder.ToString();
        }


    }
}
于 2012-06-21T17:36:29.820 に答える