Imports System.Security.Cryptography Imports System.Data.SqlClient Imports System.Data Public Class commonFunctions Public Sub createLoginCookie() If HttpContext.Current.Session("loginToken") Is Nothing Then Call updateLoginToken() Else Dim loginCookie As New HttpCookie("evecp") loginCookie.Values("userName") = HttpContext.Current.Session("userName") loginCookie.Values("loginToken") = HttpContext.Current.Session("loginToken") loginCookie.Expires = Date.Now.AddMonths(1) HttpContext.Current.Response.Cookies.Add(loginCookie) End If End Sub Public Sub updateLoginToken() HttpContext.Current.Session("loginToken") = Guid.NewGuid.ToString Using dbConnection As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\evecp.mdf;Integrated Security=True;User Instance=True") Using dbCommand As New SqlCommand("UPDATE tblUsers SET loginToken = @loginToken WHERE userName = @userName;") dbCommand.Connection = dbConnection dbCommand.Parameters.AddWithValue("@loginToken", HttpContext.Current.Session("loginToken")) dbCommand.Parameters.AddWithValue("@userName", HttpContext.Current.Session("userName")) dbConnection.Open() dbCommand.ExecuteNonQuery() dbConnection.Close() End Using End Using Call createLoginCookie() End Sub Public Function retrieveLoginToken(userName As String) Using dbConnection As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\evecp.mdf;Integrated Security=True;User Instance=True") Using dbAdapter As New SqlDataAdapter("SELECT TOP 1 loginToken FROM tblUsers WHERE userName = @userName;", dbConnection) dbAdapter.SelectCommand.Parameters.AddWithValue("@userName", userName) Using dtLoginToken As New DataTable dbAdapter.Fill(dtLoginToken) Return dtLoginToken.Rows(0)(0).ToString End Using End Using End Using End Function Public Function hashPassword(plainTextPassword As String, passwordSalt As String) Dim passwordHasher As New SHA1Managed() Dim hashedPassword As String = BitConverter.ToString(passwordHasher.ComputeHash(Encoding.UTF8.GetBytes(plainTextPassword & passwordSalt))) Return hashedPassword End Function Public Sub purgeLogin() Dim loginCookie As New HttpCookie("evecp") loginCookie.Expires = Date.Now.AddDays(-1) HttpContext.Current.Response.Cookies.Add(loginCookie) HttpContext.Current.Session.Abandon() End Sub End Class