我有一个哈希输入字符串的方法来生成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
答案 0 :(得分:2)
在Visual Studio 2010/2012中
在您正在处理的程序集中打开一个文件。
打开立即窗口(Ctrl + D,I)或调试 - &gt; Windows - &gt;即时
键入方法的全名:(到错误的IntelliSense不起作用)
new ConsoleApplication1.Program().getMD5hash("stringToHash");
我没有在其他版本的Visual Studio上测试过这个。另外,请记住,当执行命令时,代码编辑器应该在感兴趣的项目中打开一个文件。切换到另一个项目中的另一个文件将不允许代码运行。
答案 1 :(得分: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
}
答案 2 :(得分: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();
}
}
}
答案 3 :(得分:0)
一般建议是使用单元测试。这样测试仍然存在,并且您有一种简单的方法来运行它们。