16 个解决方案
#1
public static string GetMD5Hash(String input)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
char[] temp = new char[res.Length];
System.Array.Copy(res, temp, res.Length);
return new String(temp);
}
/// <summary>
/// 获得MD5的16进制结果
/// </summary>
public static string GetMD5HashHex(String input)
{
MD5 md5 = new MD5CryptoServiceProvider();
DES des = new DESCryptoServiceProvider();
byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
String returnThis = "";
for (int i = 0; i < res.Length; i++)
{
returnThis += System.Uri.HexEscape((char)res[i]);
}
returnThis = returnThis.Replace("%", "");
returnThis = returnThis.ToLower();
return returnThis;
}
#2
md5一般是用来加密密码的。是不可逆的。
/// <summary>
/// 获取MD5值
/// </summary>
/// <param name="str">加密的字符串</param>
/// <returns>返回MD5值</returns>
public static string GetMD5(string str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}
要是可以加密可以解密的建议用base64
编码:
byte[] bytes=Encoding.Default.GetBytes("要转换的字符串");
Convert.ToBase64String(bytes);
解码:
//"ztKwrsTj"是“我爱你”的base64编码
byte[] outputb = Convert.FromBase64String("ztKwrsTj");
string orgStr= Encoding.Default.GetString(outputb);
/// <summary>
/// 获取MD5值
/// </summary>
/// <param name="str">加密的字符串</param>
/// <returns>返回MD5值</returns>
public static string GetMD5(string str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}
要是可以加密可以解密的建议用base64
编码:
byte[] bytes=Encoding.Default.GetBytes("要转换的字符串");
Convert.ToBase64String(bytes);
解码:
//"ztKwrsTj"是“我爱你”的base64编码
byte[] outputb = Convert.FromBase64String("ztKwrsTj");
string orgStr= Encoding.Default.GetString(outputb);
#3
MD5算法是单向加密,一般只用作验证性加密,好像不是你说的密码式加密
#4
MD5加密一般是用在网站或者应用程序的用户明密码,等不需要明文显示的地方,对数据库全部加密一般都不用MD5,而是用三重DES加密,因为可以解密
#5
md5 加密只是加密数据。
配置数据库操作权限。用不同用户操作。如果有数据库,很难控制。
配置数据库操作权限。用不同用户操作。如果有数据库,很难控制。
#6
告诉你一个方法,你给他一个数据库帐号让他只有别的权限,把对你数据库的权限只限定你的帐号可以进行更改就可以 了
#7
路过帮顶
#8
使用aspnet_regiis工具呀:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pef "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在加密配置节...
成功!
加密成功后:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pdf "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在解密配置节...
成功!
解密成功后Connectionstring恢复原样:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pef "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在加密配置节...
成功!
加密成功后:
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>cGqkexvQnfv/zp5pRwxnTwGeAXo6BfG0MQtwr6rOhdWUxRZxixWmcnPhnK6AHHZj2hCcp/TyXTJenQitrdNatQaGg2sSHut0MmyLg3OZkpXmQu5+ankm37/k+FIOdx9pY2qKtQEWgWK3EffyOnpDAEv8V6hQ9RomJqhLmw/JT4w=</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>k4OMiQEB9q4rHx9AavmEyBmvtsxY30kOr26D1aycMvWo6mZkWjDXFeGQcHdUkJa7Xd7oz/7ASjVvRoXYns6UfE9on00/VkfCZz/I95z0v+HR+KrXd9QaA3vre4qMc9GixnUr2Alz33otWg7lSdGKenD+eYIDfAmC/nHFOuN/NGavoD4j/NPBOeZw/CcMAqoMBPH/MVto7HkVxp3wOwD1SiZA+ldylycaSSNV8pS/Gmm3EaKNyFXrYB0YruntHTNz/LAhXDoz5s1d3Ol2BIp/MP3V9JM43WJbfFfqXGJjvKg=</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pdf "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在解密配置节...
成功!
解密成功后Connectionstring恢复原样:
<add name="NorthwindConnectionString" connectionString="Data Source=WSR-PC;Initial Catalog=Northwind;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
#9
using System.Web.Security;
string 密文 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("明文", "MD5");
注意,MD5不可逆,只能加密不能解密,如果数据需要还原成明文再使用,不要用MD5。
#10
很明显LZ对MD5加密理解上有错误
#11
我的blog里有多种加密方法,可去参考。
#12
用MD5或者SHA1都是一样的。不可逆啊。
#13
怎么没有实际的可靠的答案呢
整点实际的多学习学习理论 。。
整点实际的多学习学习理论 。。
#14
public static string get32Md5(string str)
{
try
{
string cl = str;
string pwd = "";
MD5 md5 = MD5.Create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd = pwd + s[i].ToString("X");
}
return pwd;
}
catch (Exception ex)
{
return null;
}
}
{
try
{
string cl = str;
string pwd = "";
MD5 md5 = MD5.Create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd = pwd + s[i].ToString("X");
}
return pwd;
}
catch (Exception ex)
{
return null;
}
}
#15
wenrenhua08 你的加密程序在哪里我怎么没有找到啊。。
#16
踏破铁鞋无觅处 哈 哈 兄弟我正想要找这个呢 谢谢了
#1
public static string GetMD5Hash(String input)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
char[] temp = new char[res.Length];
System.Array.Copy(res, temp, res.Length);
return new String(temp);
}
/// <summary>
/// 获得MD5的16进制结果
/// </summary>
public static string GetMD5HashHex(String input)
{
MD5 md5 = new MD5CryptoServiceProvider();
DES des = new DESCryptoServiceProvider();
byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
String returnThis = "";
for (int i = 0; i < res.Length; i++)
{
returnThis += System.Uri.HexEscape((char)res[i]);
}
returnThis = returnThis.Replace("%", "");
returnThis = returnThis.ToLower();
return returnThis;
}
#2
md5一般是用来加密密码的。是不可逆的。
/// <summary>
/// 获取MD5值
/// </summary>
/// <param name="str">加密的字符串</param>
/// <returns>返回MD5值</returns>
public static string GetMD5(string str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}
要是可以加密可以解密的建议用base64
编码:
byte[] bytes=Encoding.Default.GetBytes("要转换的字符串");
Convert.ToBase64String(bytes);
解码:
//"ztKwrsTj"是“我爱你”的base64编码
byte[] outputb = Convert.FromBase64String("ztKwrsTj");
string orgStr= Encoding.Default.GetString(outputb);
/// <summary>
/// 获取MD5值
/// </summary>
/// <param name="str">加密的字符串</param>
/// <returns>返回MD5值</returns>
public static string GetMD5(string str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}
要是可以加密可以解密的建议用base64
编码:
byte[] bytes=Encoding.Default.GetBytes("要转换的字符串");
Convert.ToBase64String(bytes);
解码:
//"ztKwrsTj"是“我爱你”的base64编码
byte[] outputb = Convert.FromBase64String("ztKwrsTj");
string orgStr= Encoding.Default.GetString(outputb);
#3
MD5算法是单向加密,一般只用作验证性加密,好像不是你说的密码式加密
#4
MD5加密一般是用在网站或者应用程序的用户明密码,等不需要明文显示的地方,对数据库全部加密一般都不用MD5,而是用三重DES加密,因为可以解密
#5
md5 加密只是加密数据。
配置数据库操作权限。用不同用户操作。如果有数据库,很难控制。
配置数据库操作权限。用不同用户操作。如果有数据库,很难控制。
#6
告诉你一个方法,你给他一个数据库帐号让他只有别的权限,把对你数据库的权限只限定你的帐号可以进行更改就可以 了
#7
路过帮顶
#8
使用aspnet_regiis工具呀:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pef "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在加密配置节...
成功!
加密成功后:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pdf "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在解密配置节...
成功!
解密成功后Connectionstring恢复原样:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pef "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在加密配置节...
成功!
加密成功后:
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>cGqkexvQnfv/zp5pRwxnTwGeAXo6BfG0MQtwr6rOhdWUxRZxixWmcnPhnK6AHHZj2hCcp/TyXTJenQitrdNatQaGg2sSHut0MmyLg3OZkpXmQu5+ankm37/k+FIOdx9pY2qKtQEWgWK3EffyOnpDAEv8V6hQ9RomJqhLmw/JT4w=</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>k4OMiQEB9q4rHx9AavmEyBmvtsxY30kOr26D1aycMvWo6mZkWjDXFeGQcHdUkJa7Xd7oz/7ASjVvRoXYns6UfE9on00/VkfCZz/I95z0v+HR+KrXd9QaA3vre4qMc9GixnUr2Alz33otWg7lSdGKenD+eYIDfAmC/nHFOuN/NGavoD4j/NPBOeZw/CcMAqoMBPH/MVto7HkVxp3wOwD1SiZA+ldylycaSSNV8pS/Gmm3EaKNyFXrYB0YruntHTNz/LAhXDoz5s1d3Ol2BIp/MP3V9JM43WJbfFfqXGJjvKg=</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -pdf "connectionStrings" "E:\ASP.NET WebSites\Practice_N
orthwind\Practice_Northwind"
正在解密配置节...
成功!
解密成功后Connectionstring恢复原样:
<add name="NorthwindConnectionString" connectionString="Data Source=WSR-PC;Initial Catalog=Northwind;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
#9
using System.Web.Security;
string 密文 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("明文", "MD5");
注意,MD5不可逆,只能加密不能解密,如果数据需要还原成明文再使用,不要用MD5。
#10
很明显LZ对MD5加密理解上有错误
#11
我的blog里有多种加密方法,可去参考。
#12
用MD5或者SHA1都是一样的。不可逆啊。
#13
怎么没有实际的可靠的答案呢
整点实际的多学习学习理论 。。
整点实际的多学习学习理论 。。
#14
public static string get32Md5(string str)
{
try
{
string cl = str;
string pwd = "";
MD5 md5 = MD5.Create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd = pwd + s[i].ToString("X");
}
return pwd;
}
catch (Exception ex)
{
return null;
}
}
{
try
{
string cl = str;
string pwd = "";
MD5 md5 = MD5.Create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd = pwd + s[i].ToString("X");
}
return pwd;
}
catch (Exception ex)
{
return null;
}
}
#15
wenrenhua08 你的加密程序在哪里我怎么没有找到啊。。
#16
踏破铁鞋无觅处 哈 哈 兄弟我正想要找这个呢 谢谢了