读书人

asp.net中怎么用MD5加密用户密码-要求

发布时间: 2011-12-27 22:22:55 作者: rapoo

asp.net中如何用MD5加密用户密码--要求和asp中的加密结果一致
我在用asp.net自带的用户管理页面添加用户时,结果总是和asp中的加密结果不一致,恳请高人指点。
ASP: password=md5(password) md5 is a function in md5.asp

following is the setting In ASP.net

<machineKey validationKey= "AutoGenerate,IsolateApps " decryptionKey= "AutoGenerate,IsolateApps " decryption= "Auto "
validation= "MD5 "/>
<membership defaultProvider= "Myuserdb ">
<providers>
<add name= "Myuserdb "
connectionStringName= "userdb "
applicationName= "/ "
enablePasswordRetrieval= "false "
enablePasswordReset= "false "
requiresQuestionAndAnswer= "false "
requiresUniqueEmail= "false "
passwordFormat= "Hashed "
type= "System.Web.Security.SqlMembershipProvider "/>
</providers>
</membership>


[解决办法]
用API直接加密 不要在Web.config里面设置 行吗?

string pwd=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile( "123 ", "MD5 ");
Response.Write(pwd);
[解决办法]
public string md5(string str, int code)
{
if (code == 16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5 ").ToLower().Substring(8, 16);
}
else//32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5 ").ToLower();
}
}

[解决办法]
<authentication mode= "Form ">
<forms name= "name " loginurl= "URL " ....>
<credentials password= "[Clear|SHA1|MD5] ">
<clear/>
<remove name= "username "/>
<user name= "username " password= "password ">
</credentials>
</forms>
</authentication>

出自《ASP.NET开发指南》 赤刚 班上只一本 谁如果有电子版的 发我下 谢谢

还有 csdn 推荐的 Begining C# Object 韩磊 的 谁如果有这本电子版的 也发我下 谢谢

chenou851123@Gmail.com
[解决办法]
很简单的啊.

把32位结果中间的那16个拿出来,就是16位的结果了.


[解决办法]
ASP中MD5编码大多数都是ASCII(GB2312)等编码的,.NET里默认是UTF8的
动网论坛等ASP系统是取32位MD5字符串中间的16位保存的
[解决办法]
16位和32位MD5的问题
取32位的中间一半就是16位的了。字符串截取LZ应该会了吧

读书人网 >asp.net

热点推荐