如何在visual studio中用c#测试md5
只是想问一下,是否有人知道如何在VisualStudio中测试这个md5 这是我的md5如何在visual studio中用c#测试md5,c#,visual-studio-2010,md5,C#,Visual Studio 2010,Md5,只是想问一下,是否有人知道如何在VisualStudio中测试这个md5 这是我的md5 using System; using System.Security.Cryptography; using System.Text; class Example { // Hash an input string and return the hash as // a 32 character hexadecimal string. static string getMd
using System;
using System.Security.Cryptography;
using System.Text;
class Example
{
// Hash an input string and return the hash as
// a 32 character hexadecimal string.
static string getMd5Hash(string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
// Verify a hash against a string.
static bool verifyMd5Hash(string input, string hash)
{
// Hash the input.
string hashOfInput = getMd5Hash(input);
// Create a StringComparer an compare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(hashOfInput, hash))
{
return true;
}
else
{
return false;
}
}
static void Main()
{
string source = "Hello World!";
string hash = getMd5Hash(source);
Console.WriteLine("The MD5 hash of " + source + " is: " + hash + ".");
Console.WriteLine("Verifying the hash...");
if (verifyMd5Hash(source, hash))
{
Console.WriteLine("The hashes are the same.");
}
else
{
Console.WriteLine("The hashes are not same.");
}
}
}
// This code example produces the following output:
//
// The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.
// Verifying the hash...
// The hashes are the same.
使用系统;
使用System.Security.Cryptography;
使用系统文本;
课例
{
//对输入字符串进行散列,并将散列返回为
//32个字符的十六进制字符串。
静态字符串getMd5Hash(字符串输入)
{
//创建MD5CryptoServiceProvider对象的新实例。
MD5 md5Hasher=MD5.Create();
//将输入字符串转换为字节数组并计算哈希。
byte[]data=md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
//创建新的Stringbuilder以收集字节
//并创建一个字符串。
StringBuilder sBuilder=新StringBuilder();
//循环遍历散列数据的每个字节
//并将每个字符串格式化为十六进制字符串。
for(int i=0;i
打开Visual Studio…新建控制台应用程序…粘贴该代码(替换现有页面)并按CTRL+F5。按CTRL+F5,控制台窗口将保持打开状态
当然,复制和粘贴代码只能让您了解它的工作原理和作用;) 打开Visual Studio…新建控制台应用程序…粘贴该代码(替换现有页面)并按CTRL+F5。按CTRL+F5,控制台窗口将保持打开状态
当然,复制和粘贴代码只能让您了解它的工作原理和作用;) RFC提供了一些您可以测试的选项:
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =
d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("123456789012345678901234567890123456789012345678901234567890123456
78901234567890") = 57edf4a22be3c955ac49da2e2107b67a
RFC提供了一些您可以测试的选项:
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =
d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("123456789012345678901234567890123456789012345678901234567890123456
78901234567890") = 57edf4a22be3c955ac49da2e2107b67a
md5类提供一个16字节长的散列,如果您试图将此散列作为字符串查看,则需要使用System.Text.Encoding命名空间并将文本转换为字符串值。至于测试MD5,如果不是16字节长,我会说函数失败了 md5类提供了一个16字节长的散列,如果您试图将此散列作为字符串查看,则需要使用System.Text.Encoding命名空间并将文本转换为字符串值。至于测试MD5,如果不是16字节长,我会说函数失败了 这将以循环方式测试
ComputeHash(x)==ComputeHash(x)
。目的是。。。含糊不清。您的意思是您确实想要测试该值,还是想知道如何在Visual Studio中运行此代码?这段代码取自MSDN,所以它可能非常健壮。这将以一种循环的方式测试ComputeHash(x)==ComputeHash(x)
。目的是。。。含糊不清。您的意思是您确实想要测试该值,还是想知道如何在Visual Studio中运行此代码?这段代码取自MSDN,所以它可能非常健壮。