{"id":276,"date":"2010-12-27T14:46:21","date_gmt":"2010-12-27T18:46:21","guid":{"rendered":"http:\/\/www.iowawebnet.com\/ein\/?p=276"},"modified":"2011-01-17T17:17:30","modified_gmt":"2011-01-17T21:17:30","slug":"asp-net-login-application-access-db-backend-sha1-or-md5-encryption","status":"publish","type":"post","link":"https:\/\/www.iowawebnet.com\/ein\/2010\/12\/asp-net-login-application-access-db-backend-sha1-or-md5-encryption\/","title":{"rendered":"Login"},"content":{"rendered":"<p><strong>~ Access db backend &amp; SHA1 or MD5 encryption ~<\/strong><strong><br \/>\n<\/strong><\/p>\n<p>Web.config<\/p>\n<blockquote style=\"color: #2a5faa; background-color: #f8f8f8; padding: 5px;\"><p>&lt;system.web&gt;<\/p>\n<p>&lt;authentication mode=&#8221;Forms&#8221;&gt;<br \/>\n&lt;forms loginUrl=&#8221;Login.aspx&#8221; timeout=&#8221;2880&#8243;\/&gt;<br \/>\n&lt;\/authentication&gt;<\/p>\n<p>&lt;\/system.web&gt;<\/p><\/blockquote>\n<p>Login.aspx<\/p>\n<blockquote style=\"color: #2a5faa; background-color: #f8f8f8; padding: 5px;\"><p>&lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221; &gt;<br \/>\n&lt;table &gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;td colspan=&#8221;2&#8243;&gt;&lt;b&gt;Login Form&lt;\/b&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;td&gt;Intranet Username: &lt;\/td&gt;&lt;td style=&#8221;color: Red;&#8221; &gt;<br \/>\n&lt;asp:TextBox ID=&#8221;usn&#8221; runat=&#8221;server&#8221;  TextMode=&#8221;password&#8221; \/&gt;<br \/>\n&lt;asp:RequiredFieldValidator ID=&#8221;ReqVal_1&#8243; controltovalidate=&#8221;usn&#8221;<br \/>\nvalidationgroup=&#8221;Login1&#8243; runat=&#8221;server&#8221; ErrorMessage=&#8221; ? &#8221; &gt;<br \/>\n&lt;\/asp:RequiredFieldValidator&gt;<br \/>\n&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;td&gt;Teller #: &lt;\/td&gt;&lt;td style=&#8221;color: Red;&#8221; &gt;&lt;asp:TextBox ID=&#8221;pwd&#8221; runat=&#8221;server&#8221; TextMode=&#8221;password&#8221; \/&gt;<br \/>\n&lt;asp:RequiredFieldValidator ID=&#8221;ReqVal_2&#8243; controltovalidate=&#8221;pwd&#8221;<br \/>\nvalidationgroup=&#8221;Login1&#8243; runat=&#8221;server&#8221; ErrorMessage=&#8221; ? &#8221; &gt;<br \/>\n&lt;\/asp:RequiredFieldValidator&gt;<br \/>\n&lt;asp:RegularExpressionValidator runat=&#8221;server&#8221; ErrorMessage=&#8221;Numbers only.&#8221;<br \/>\nControlToValidate=&#8221;pwd&#8221; validationgroup=&#8221;Login1&#8243; ValidationExpression=&#8221;^\\d+$&#8221; \/&gt;&lt;\/asp:RegularExpressionValidator&gt;<br \/>\n&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;td&gt;&lt;\/td&gt;<br \/>\n&lt;td &gt;&lt;asp:Label ID=&#8221;Label1&#8243; runat=&#8221;server&#8221; \/&gt;&lt;br \/&gt;<br \/>\n&lt;asp:Label ID=&#8221;Label2&#8243; runat=&#8221;server&#8221; \/&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;td&gt;&lt;\/td&gt;&lt;td &gt;&lt;asp:Button ID=&#8221;submit&#8221; runat=&#8221;server&#8221; Text=&#8221;submit&#8221;<br \/>\nCausesValitdation=&#8221;True&#8221; ValidationGroup=&#8221;Login1&#8243; \/&gt;<\/p>\n<p>&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;\/table&gt;<br \/>\n&lt;\/form&gt;<\/p><\/blockquote>\n<p>Loginn.aspx.vb<\/p>\n<blockquote style=\"color: #2a5faa; background-color: #f8f8f8; padding: 5px;\"><p>Imports System.IO<br \/>\nImports System.Data.OleDb<br \/>\nImports System.Web.UI.WebControls.Button<br \/>\nImports System.Web.UI.WebControls.TextBox<br \/>\nImports System.Web.SessionState<br \/>\nImports System.Web.Security<\/p>\n<p>Partial Class Login<br \/>\nInherits System.Web.UI.Page<\/p>\n<p>Protected Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit.Click<br \/>\n&#8216;defining variables\/controls<br \/>\nDim usn As TextBox<br \/>\nDim pwd As TextBox<\/p>\n<p>&#8216;binding controls<br \/>\nusn = submit.FindControl(&#8220;usn&#8221;)<br \/>\npwd = submit.FindControl(&#8220;pwd&#8221;)<\/p>\n<p>&#8216;\/ here are 2 encryption methods<br \/>\n&#8216;********************************&#8217;<br \/>\nDim <strong>key<\/strong> As String<br \/>\nDim key1 As String<br \/>\n<strong>key<\/strong> = FormsAuthentication.HashPasswordForStoringInConfigFile(&#8220;pwd&#8221;, &#8220;SHA1&#8221;)\u00a0\u00a0 &#8216;\/ here we implement SHA1 hash<br \/>\nkey1 = FormsAuthentication.HashPasswordForStoringInConfigFile(&#8220;pwd&#8221;, &#8220;MD5&#8221;)\u00a0\u00a0 &#8216;\/ here we implement MD5 hash<\/p>\n<p>&#8216;\/ access db connection &#8211; MS Access 2007\/10 driver * you can define your own sql connection<br \/>\nDim ConnDB As New OleDbConnection(&#8220;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\/myDB.mdb;Persist Security Info=True&#8221;)<\/p>\n<p>Dim cmd As New OleDbCommand(&#8220;SELECT * FROM Login WHERE (username = &#8216;&#8221; &amp; usn.Text.ToString() &amp; &#8220;&#8216;) AND (password = &#8221; &amp; <strong>key<\/strong>.Text.ToString() &amp; &#8220;);&#8221;, ConnDB)<\/p>\n<p>&#8216;\/ simple replace &#8220;key&#8221; with &#8220;key1&#8221; to use MD5 encryption method<\/p>\n<p>Dim reader As OleDbDataReader<\/p>\n<p>Try<\/p>\n<p>&#8216;\/ open connection<br \/>\ncmd.Connection.Open()<br \/>\nreader = cmd.ExecuteReader()<br \/>\nIf reader.Read() Then<br \/>\nLabel1.Text = (&#8220;&lt;font color=&#8217;green&#8217;&gt;You are logged in!&lt;\/font&gt;&#8221;)<br \/>\nSession(&#8220;Name&#8221;) = reader(1).ToString()\u00a0\u00a0\u00a0\u00a0 &#8216;\/ write session &#8220;Name&#8221; so you can greet user after successful login<br \/>\nResponse.Redirect(&#8220;MySecurePage.aspx&#8221;)<br \/>\nElse<br \/>\nLabel1.Text = (&#8220;&lt;font color=&#8217;red&#8217;&gt;Wrong Username or Password!&lt;\/font&gt;&#8221;)<br \/>\nEnd If<\/p>\n<p>cmd.Connection.Close()<\/p>\n<p>&#8216;\/ end<br \/>\nCatch ex As Exception<br \/>\nLabel2.Text = &#8220;ERROR: &#8221; &amp; ex.Message.ToString()     &#8216;\/ in case of error<\/p>\n<p>End Try<\/p>\n<p>End Sub<\/p>\n<p>End Class<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>~ Access db backend &amp; SHA1 or MD5 encryption ~ Web.config &lt;system.web&gt; &lt;authentication mode=&#8221;Forms&#8221;&gt; &lt;forms loginUrl=&#8221;Login.aspx&#8221; timeout=&#8221;2880&#8243;\/&gt; &lt;\/authentication&gt; &lt;\/system.web&gt; Login.aspx &lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221; &gt; &lt;table &gt; &lt;tr&gt; &lt;td colspan=&#8221;2&#8243;&gt;&lt;b&gt;Login Form&lt;\/b&gt;&lt;\/td&gt; &lt;\/tr&gt; &lt;tr&gt; &lt;td&gt;Intranet Username: &lt;\/td&gt;&lt;td style=&#8221;color: Red;&#8221; &gt; &lt;asp:TextBox ID=&#8221;usn&#8221; runat=&#8221;server&#8221; TextMode=&#8221;password&#8221; \/&gt; &lt;asp:RequiredFieldValidator ID=&#8221;ReqVal_1&#8243; controltovalidate=&#8221;usn&#8221; validationgroup=&#8221;Login1&#8243; runat=&#8221;server&#8221; ErrorMessage=&#8221; ? &#8221; &gt; &lt;\/asp:RequiredFieldValidator&gt; &lt;\/td&gt; &lt;\/tr&gt; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,17,16],"tags":[30,19,31,20,22,21],"class_list":["post-276","post","type-post","status-publish","format-standard","hentry","category-access","category-applications","category-net","tag-access-2","tag-asp-net","tag-encryption-2","tag-login","tag-programming","tag-visual-studio"],"_links":{"self":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts\/276"}],"collection":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/comments?post=276"}],"version-history":[{"count":17,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":442,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/posts\/276\/revisions\/442"}],"wp:attachment":[{"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/media?parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/categories?post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iowawebnet.com\/ein\/wp-json\/wp\/v2\/tags?post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}