请教,以前写过一个,忘记怎么写了,现在来搜索好像没有找到合适的。我是设计了个用户注册和登录的页面,密码表单ID是Password,点击注册或者登录后,变量获得表单的密码的值,加密的过程怎么写,请教,谢谢。string sPassword = Password.Text;然后这个sPassword怎么处理才能被MD5加密?要32位加密的。
解决方案 »
- Response.Redirect后无法取得Request.UrlReferrer
- 使用WebClient下载遇到的问题
- 选择主表的一条记录后,连续输入多条记录后一次性保存方法?
- 对上海IDC机房了解的朋友帮忙,请教拖管问题
- 以另一个页面打开网络页面(续集)
- 怎么定义一个在page内有效的变量,我在 system.web.ui.page 的类中加一个成员好象不行
- 如何改变GridView的列宽?
- .net 有关Cookie记住密码功能实现的问题。
- 怎样实现这样的服务器控件!急!!!
- .net打不开求救!SOS!SOS!SOS!
- 懂php的帮忙转换下。不到30行代码主要的不到10行
- 资深牛人们谈谈2013年asp的发展前景吧
/// <summary>
/// 获取一个字符串内容的MD5哈希值
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static string GetMD5HashCode(this string value)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(value));
md5.Clear();
return BitConverter.ToString(data).Replace("-", "");
}
要引用
using System.Text;
using System.Security.Cryptography;
谢谢,输入的参数是value吧?那返回的参数是哪个呢?这个是32位加密了吧?UTF-8和GB2312加密方式最后存在数据库里跟数据库的GB2312没有关系吧?
这个代码放到点击按钮后触发的 protected void CreateUserButton_Click(object sender, EventArgs e)可以吧?
string sPassword = Password.Text;
string md5Password = GetMD5HashCode(sPassword);
跟编码没什么关系,就是不同编码MD5计算出来的值可能会不一样。
都用我上面给的那个,就可以了。不用考虑数据库。
protected void CreateUserButton_Click(object sender, EventArgs e)
{
string getMD5=GetMD5HashCode(txtPwd.Text)
}
谢谢,我就想用这个简单的,呵呵。string md5Password = GetMD5HashCode(sPassword);
{
string md5Password = GetMD5HashCode(sPassword);
}是吧。
调用时也可以通过类名.GetMD5HashCode(...)的方式来调用public class test
{
public static string GetMD5HashCode(this string value) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(value)); md5.Clear(); return BitConverter.ToString(data).Replace("-", ""); }
protected void CreateUserButton_Click(object sender, EventArgs e) { string getMD5=GetMD5HashCode(txtPwd.Text) } }
你基础还没打好呢,再学习学习吧。
{
string sPassword = GetMD5HashCode(Password.Text);
}能放到protected void CreateUserButton_Click(object sender, EventArgs e)里面吗?
当然不能了,两个都是函数,应该放在class下面
public static string GetMD5HashCode(this string value)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(value));
md5.Clear();
return BitConverter.ToString(data).Replace("-", "");
}
这个里面的value和data是不是参数,要不要改呢?
string md5Password = GetMD5HashCode("你要加密的字符串");就行了。我都说不明白了!你不行就加咱QQ吧 46317239
LS给的方法已经写成了扩展方法的形式
这个方法的类 需要静态类,估计LZ没怎么接触过
比如class static ChatHelper{
public static string GetMD5HashCode(this string value)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(value));
md5.Clear();
return BitConverter.ToString(data).Replace("-", "");
}
}
然后调用可以用
string md5pwd=passward.text.GetMD5HashCode();如果LZ实在不会把这个方法的this关键词去掉然后把整个方法放到你的aspx.cs文件中 ,与你的xxx事件是并列的
然后用
string md5Password = GetMD5HashCode("你要加密的字符串");
这样的方法调用