| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1134 人关注过本帖
标题:[求助]关于注册密码 加密的问题
只看楼主 加入收藏
独孤幽灵
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2005-11-24
收藏
 问题点数:0 回复次数:10 
[求助]关于注册密码 加密的问题


注册用户时,用户密码要加密,然后插入到数据库,登陆的时候在解密,大家有没有什么好的代码啊

能给出源代码最好,

很急,谢谢拉

[此贴子已经被作者于2006-9-22 18:30:43编辑过]

搜索更多相关主题的帖子: 密码 源代码 数据库 注册 
2006-09-21 22:20
angel1128
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-9-7
收藏
得分:0 

一下代码不知对不对,您可以去看看
<%@ Page Language="C#" autoeventwireup="true" %>
<html>
<head>
<script runat="server">
void Cancel_Click(object sender, EventArgs e)
{
userName.Text = "";
password.Text = "";
repeatPassword.Text = "";
result.Text = "";
}

void HashPassword_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string hashMethod = "";
if (sha1.Checked)
{
hashMethod = "SHA1";
}
else
{
hashMethod = "MD5";
}

string hashedPassword =
FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text, hashMethod);

result.Text="&lt;credentials passwordFormat=\"" + hashMethod +"\"&gt;<br>" +
"&nbsp;&nbsp;&nbsp;&lt;user name=\"" + userName.Text + "\" password=\"" +
hashedPassword + "\"&gt;<br>" + "&lt;/credentials&gt;";
}
else
{
result.Text = "There was an error on the page.";
}
}
</script>
</head>

<body>
<form runat="server">
<p>This form displays the results of the FormsAuthentication.HashPasswordForStoringInConfigFile
method.<br>The user name and hashed password can be stored in a &lt;credentials&gt; node
in the Web.config file.</p>
<table>
<tbody>
<tr>
<td>New User Name:</td>
<td><asp:TextBox id="userName" runat="server"></asp:TextBox></td>
<td><asp:RequiredFieldValidator id="userNameRequiredValidator" runat="server"
ErrorMessage="User name required" ControlToValidate="userName"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td>Password: </td>
<td><asp:TextBox id="password" runat="server" TextMode="Password"></asp:TextBox></td>
<td><asp:RequiredFieldValidator id="passwordRequiredValidator" runat="server"
ErrorMessage="Password required" ControlToValidate="password"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td>Repeat Password: </td>
<td><asp:TextBox id="repeatPassword" runat="server" TextMode="Password"></asp:TextBox></td>
<td><asp:CompareValidator id="passwordCompareValidator" runat="server"
ErrorMessage="Password does not match" ControlToValidate="repeatPassword"
ControlToCompare="password"></asp:CompareValidator></td>
</tr>
<tr>
<td>Hash function: </td>
<td align="middle"><asp:RadioButton id="sha1" runat="server" GroupName="HashType"
Text="SHA1"></asp:RadioButton>
<asp:RadioButton id="md5" runat="server" GroupName="HashType" Text="MD5"></asp:RadioButton></td>
</tr>
<tr>
<td align="middle" colspan="2">
<asp:Button id="hashPassword" onclick="HashPassword_Click" runat="server" Text="Hash Password">
</asp:Button>&nbsp;&nbsp;
<asp:Button id="cancel" onclick="Cancel_Click" runat="server" Text="Cancel" CausesValidation="false">
</asp:Button></td>
</tr>
</tbody>
</table>
<p><asp:Label id="result" runat="server"></asp:Label></p>
</form>
</body>
</html>

2006-09-21 23:56
小妖精ai漂亮
Rank: 1
等 级:新手上路
帖 子:95
专家分:0
注 册:2006-7-21
收藏
得分:0 
.net自带的

别试图教猪唱歌,这样不但教不会,还会惹猪不高兴!
2006-09-22 08:58
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 
密码可以使用不可逆加密,用
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string Str, string Mode)方法。
该方法传递两个参数,Str表示待加密的字符串,就是传递原始密码。
Mode参数表示加密方法,有sha1和md5两种。这个方法将返回一串定长字符串散列值。

验证用户输入的密码,重复上述过程得到散列值,比较两个散列值是否相等即可。
这种采用sha1或md5加密是不可逆的哈希算法之一,具有很高安全性。即使被泄露,仍然无法获知初始密码。

铲铲是也
2006-09-22 09:09
独孤幽灵
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2005-11-24
收藏
得分:0 
谢谢了
学习

2006-09-26 17:31
honey0607
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-9-15
收藏
得分:0 
md5早就不安全了!!!

2006-09-29 09:22
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 

如何不安全,请详细回答


铲铲是也
2006-10-01 11:44
smoon
Rank: 1
等 级:禁止访问
帖 子:461
专家分:0
注 册:2006-4-29
收藏
得分:0 
在线都可以破解的拉!!!只要你那到加密的数据那是可以100%的破解的!!!!!!~~~~~~~~~~~~
很都的加密算法都是可以破解的拉现在,没有什么是绝对的安全的拉现在 反正我就破解成功过 时间也是很短的
在baidu 上一搜有很多在线破解的 !!!!!!真的很快的不到一分钟!!~````要是安全好是自己写的好,没人知道是什么算法!!~~~~~~~~ 我看到一个后台就不知道是什么算法 看了半天也没破解出来 也可能是我的水平不行 不过md5有时候正的不是很安全拉!!~~~~~~~~~~~~~

QQ:860660016
网站:http://
承接各种C#项目中。。。。。
2006-10-01 13:29
mylover624
Rank: 1
来 自:乖乖的心中
等 级:新手上路
帖 子:868
专家分:0
注 册:2006-7-6
收藏
得分:0 

现在很多的加密都是自己写的,只是用别人的加密方法太危险了。


一个天才顶不上十个笨蛋!
书山有路勤为径,学海无涯友相伴。
我的E-mail:mylover624@.cn
2006-10-01 20:46
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 

1、我在网络上搜索过所谓Md5等杂凑函数的破解,其中比较正式的是说某大学教授破解了MD5等相关杂凑函数的新闻,但是要搜索得到这种基于数学理论的论文还比较难找,真实性也待考证。另外有些网站推出的所谓破解,实际上仍然是花费存储成本穷举破解,其基本原理是将已知的一些简单字符串数字的组合所对应的MD5散列值的对应关系存入数据库中接受查询。这种本质上和穷举法类似的方法,并不代表对MD5的破解。

2、所谓杂凑函数的破解,在密码学上指能通过非穷举方法得到结果为该杂凑函数的一个原文,该原文和计算杂凑函数的原文不一定是一样的,但是它们可以算得同样的杂凑函数。这样可以用这个原文冒充最先那个原文而获得通过。不同的原文计算出相同的杂凑函数是可能的,但是从相同的杂凑函数获得原文是困难的,这是杂凑函数用于数字签名的基本原理。而网络上的破解,没有提到该理论。

3、很多加密时自己写的,从密码学角度不建议这样做。对信息加密和破解是相互的,一个优秀的加密算法能够经受得住时间的考验,认为一个加密算法安全现在流行的几种原则如下:加密算法公开,不要把密文的安全性寄托在加密算法的保密上,也许你自己写的加密算法,在攻击者不知道该算法之前是安全的,但是没有经过广大破解的安全论证,在密码学历史上有很多声称牢不可破或者安全及高的加密算法都经不住大众破解的考验。

4、网络上穷举破解MD5加密,按照其说法是:包含全部5个字符以下的数据,大部分6个字符等等数据,数据库条目约230多亿条。这种破解法正好是利用了短密钥的弱点。大多数公众为了达到密码方便记忆,丝毫不考虑密码长度、区分大小写、试用一些不易猜测的乱字符等。很多大众还在使用类似家庭电话、出生年月之类的值作为密钥。这是密钥上的安全隐患,并非该加密函数本身的存在破解因素。假如你的密码长度再增加一个字符,他的230多亿数据库又得再增大40多倍才能容纳这么庞大的数据。所以要提示大家在创建密码时,使用集中密码学家建议的密码组成方法,这种破解法将受到密钥长度的极大限制。

5、关于MD5和SHA1等杂凑函数一般用于数字签名。利用其单向性原理来加密密钥是可行的。因为不需要保持密钥的全部信息,只要保证其签名正确。重要的是告诉用户怎么去构造一种安全的密钥。

综上,罗列几条:使用国家标准或推荐的加密算法,构造一定长度不一猜测的密钥。这是抗击此种破解的最好方法。


铲铲是也
2006-10-02 01:36
快速回复:[求助]关于注册密码 加密的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032863 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved