我原来用的别人写的论坛程序
他说密码是用和动网一样的MD5加密的
我现在想用这个句子
string PwdMD5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(
this.txtPwd.Text,"MD5");
得到的是32位的
怎么办
怎么样吧那个16位的转换成和这个32位的一样
他说密码是用和动网一样的MD5加密的
我现在想用这个句子
string PwdMD5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(
this.txtPwd.Text,"MD5");
得到的是32位的
怎么办
怎么样吧那个16位的转换成和这个32位的一样
解决方案 »
- 哪些情况需要返回操作是否成功?
- 一进入该页面就开始下载怎么做?急啊
- .net中关于checkbox的一个奇怪的问题
- 为什么ASP.NET配置中只有ASPNETSqlProvider没有ASPNETAccessProvider ?
- 急急急????SOS!!如何实现模糊查询,请高手位指教!!!!
- 从文本中读出一个文件,放到textbox里面,显示出来是乱码,怎么办啊?
- 如何给form增加属性 encType="multipart/form-data"在线等
- AssemblyInfo.cs 里的属性出现重复怎么办?
- 系统发布后 运行中 出现这个提示,应该怎么处理
- 高手接招:请问在模态对话框中页面a.html链接到了b.html,为何在b.html不能用window.history.back()返回a.html?
- 新建站点部署treeview的问题,救命啊
- ASP.NET 求页面关闭事件代码.
16位的加密是取其中任意的两组排序+组合 (标准的是取哪两位还有顺序我没有看过动网的算法,不清楚)查以肯定的是,16位密文转换到32位,是不可能的.除非你知道原始未加密的明文,再手工转换.
/// 返回于md5的加密码,支持16和32位
/// </summary>
/// <param name="str"></param>
/// <param name="code"></param>
/// <returns></returns>
public string md5(string str,int code)
{
if(code==16) //16位MD5加密(取32位加密的9~25字符)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16);
}
if(code==32) //32位加密
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}
return "00000000000000000000000000000000";
}
比如原来数据库中有个用户名:abc 密码:ADI3K2KFJAKDJ1K3(MD5加密后的,我只能看到这个)
现在我想换个论坛程序,目标论坛程序是把密码加密成32位的
我应该怎么写转换程序啊
这是不可能的如果想通用的话,可以用其它的方法,比如老用户的密码用你旧的模块进行验证,新用户用新的模块