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) 或调试 -> 窗口 -> 即时。


输入方法的全名:(错误的 IntelliSense 不起作用

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

一切都很好

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 回答
0

一般建议是使用单元测试。这样,测试仍然存在,并且您可以通过一种简单的方法来运行它们。

于 2012-11-17T00:40:43.917 回答