首页 > 编程 > .NET > 正文

.NET中带有口令加密的注册页面

2024-07-10 12:58:36
字体:
来源:转载
供稿:网友

在asp.net中提供了加密的功能。名字空间system.web.security中包含了类formsauthentication,其中有一个方法hashpasswordforstoringinconfigfile。这个方法可以将用户提供的字符变成乱码,然后存储起来。注意此方法是不能继承的。
下面的代码就是在做注册页面时将数据加密后存储到数据库的过程
imports system.web.security
imports system.data
imports system.data.sqlclient  '////////所需要的名称空间

private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
        dim passformate as string
        '///////////////encryptpassword调用函数
        passformate = encryptpassword(uid.text, "md5")   '//////////或者是encryptpassword(uid.text, "sha1")
        'textbox2.text = encryptpassword(uid.text, "md5")
        'textbox3.text = encryptpassword(uid.text, "sha1")
        '///////////这些大家自己试验吧
        'textbox4.text = formsauthentication.formscookiename
        'textbox5.text = formsauthentication.formscookiepath
        'textbox6.text = formsauthentication.getredirecturl(uid.text, true)
        'formsauthentication.setauthcookie(uid.text, true)

        dim sql as string = "insert into pwd(uid,pwd) values(@uid,@pwd)"
        dim comm as sqlcommand = new sqlcommand(sql, conn)
        conn.open()
        comm.parameters.add(new sqlparameter("@uid", sqldbtype.char, 16))
        comm.parameters("@uid").value = uid.text
        comm.parameters.add(new sqlparameter("@pwd", sqldbtype.char, 16))
        comm.parameters("@pwd").value = passformate
        comm.executenonquery()
        
    end sub

    '////////////////定义加密函数,可以随时调用。
    function encryptpassword(byval password as string, byval passwordformate as string)
        if passwordformate = "sha1" then
            encryptpassword = formsauthentication.hashpasswordforstoringinconfigfile(password, "sha1")
        elseif passwordformate = "md5" then
            encryptpassword = formsauthentication.hashpasswordforstoringinconfigfile(password, "md5")
        else
            encryptpassword = ""
        end if

    end function
至于用户的验证也是一样的思路了。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表