登陆代码,用DES加密cookie

< %@ Page Language ="vb" aspcompat=true Codebehind ="WebForm7.aspx.vb" Inherits ="jxacer.WebForm7"% >
< %@ Import Namespace ="System.Data" % >
< %@ Import Namespace ="System.Data.OleDb" % >
< %@ Import Namespace=System.Diagnostics % >
< %@ Import Namespace=System.Security.Cryptography % >
< %@ Import Namespace=System.Text % >
< %@ Import Namespace=System.IO % >
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< HTML >
< HEAD >
   < title >WebForm7 </title>
   < meta name ="GENERATOR" content ="Microsoft Visual Studio .NET 7.1" >
   < meta name ="CODE_LANGUAGE" content ="Visual Basic .NET 7.1" >
   < meta name ="vs_defaultClientScript" content ="JavaScript" >
   < meta name ="vs_targetSchema" content ="http://schemas.microsoft.com/intellisense/ie5" >
</HEAD>
< body MS_POSITIONING ="GridLayout" >
   < form id ="Form1" method ="post" runat ="server" >
   < %if session("username")="" then% >
   < table align ="center" >
     < tr >
     < td >用户名: </td>
     < td > < asp:TextBox id ="TextBox1" runat ="server" > </asp:TextBox>
     </td>
     </tr>
     < tr >
     < td >&nbsp; &nbsp; &nbsp; 码: </td>
     < td > < asp:TextBox id ="TextBox2" runat ="server" > </asp:TextBox> </td>
     </tr>
     < tr >
     < td >
      验证码: </td>
     < td > < asp:TextBox id ="TextBox3" runat ="server" > </asp:TextBox> </td>
     </tr>
     < tr >
     < td colspan ="2" align ="center" > < asp:Image id ="Image1" runat ="server" ImageUrl ="VerifyChar.aspx" > </asp:Image> </td>
     </tr>
     < tr >
     < td >
      cookie: </td>
     < td >
       < asp:DropDownList id ="DropDownList1" runat ="server" Width ="152px" >
       < asp:ListItem Value ="0" >不保存 </asp:ListItem>
       < asp:ListItem Value ="30" >保存一个月 </asp:ListItem>
       < asp:ListItem Value ="365" >保存一年 </asp:ListItem>
       < asp:ListItem Value ="36500" >永久保存 </asp:ListItem>
       </asp:DropDownList> </td>
     </tr>
     < tr >
     < td colspan ="2" align ="center" >
       < asp:Button id ="Button1" runat ="server" Text ="Button" > </asp:Button> </td>
     </tr>
     < tr >
     < td colspan ="2" align ="center" > < %=Application("online")% > </td>
     </tr>
   </table>
   < % else% >
   < table align ="center" >
     < tr >
     < td > < %=session("username")% > </td> < td >
       < asp:Button id ="Button2" runat ="server" Text ="Button" OnClick ="zhuxiao" > </asp:Button> </td>
     </tr>
   </table>
   < %end if% >
   </form>
   < script language ="vb" runat ="server" >

Dim sql as String
Dim myconn as OleDbConnection
Dim myCmd as OleDbCommand
Dim conn, rs

'DES加密cookie

Private Shared KEY_64() As Byte = {42, 16, 93, 156, 78, 4, 218, 32}

Private Shared IV_64() As Byte = {55, 103, 246, 79, 36, 99, 167, 3}
Sub Page_Load(sender As Object, e As EventArgs)

If Not Request.Cookies("userInfo") Is Nothing Then
   session("username") =  Decrypt(Server.HtmlEncode(Request.Cookies( Decrypt("userInfo"))( Decrypt("userName"))))'解密字段,变量名,数据
End If
    Dim strConn,username As String
    strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("/data/data.mdb")      
myConn = New OledbConnection(strConn)  

end sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If UCase(TextBox3.Text) = Session("VerifyChar") Then            
   conn = Server.CreateObject("adodb.connection")
   conn.open("provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("data/data.mdb"))              
   sql = "select *from users where username='" & textbox1.text & "' and " & "mima='" & textbox2.text & "'"
   rs = conn.execute(sql)
   If Not rs.eof Then
    Session("username") = textbox1.text            
    Session("bolauthenticated") = True            
            
    Response.Cookies(Encrypt("userInfo"))(Encrypt("userName")) =Encrypt(TextBox1.Text)    '加密字段,变量名,数据
    
    Response.Cookies(Encrypt("userInfo")).Expires = DateTime.Now.AddDays(DropDownList1.SelectedValue)
   Else
     Response.Write(" < script for=window event=onload >window.alert('用户名或密码错误!');Form1.TextBox1.foucs(); </" & "script>")
   End If
        else
          Response.Write(" < script for=window event=onload >window.alert('验证码错误!');Form1.TextBox3.foucs(); </" & "script>")
        End If      
    End Sub    
    sub zhuxiao(sender As Object, e As EventArgs)    
Response.Cookies(Encrypt("userInfo")).Expires = DateTime.Now.AddDays(-1)
    Session.Clear()
   Session.Abandon()  
    
    end sub
    '加密
public Shared Function Encrypt(ByVal value As String) As String
If value < > "" Then
Dim cryptoProvider As DESCryptoServiceProvider =New DESCryptoServiceProvider()
Dim ms As MemoryStream = New MemoryStream()
Dim cs As CryptoStream = New CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_64, IV_64),CryptoStreamMode.Write)
Dim sw As StreamWriter = New StreamWriter(cs)
sw.Write(value)
sw.Flush()
cs.FlushFinalBlock()
ms.Flush()
'再转换为一个字符串
Return Convert.ToBase64String(ms.GetBuffer(), 0, ms.Length)
End If
End Function


'解密
Public Shared Function Decrypt(ByVal value As String) As String
If value < > "" Then
Dim cryptoProvider As DESCryptoServiceProvider =New DESCryptoServiceProvider()
'从字符串转换为字节组

Dim buffer As Byte() = Convert.FromBase64String(value)
Dim ms As MemoryStream = New MemoryStream(buffer)
Dim cs As CryptoStream = New CryptoStream(ms, cryptoProvider.CreateDecryptor(KEY_64, IV_64), CryptoStreamMode.Read)
Dim sr As StreamReader = New StreamReader(cs)
Return sr.ReadToEnd()
End If
End Function  
    
    
   </script>
</body>
</HTML> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值