Articles: 843 | Categories: 148   
   
   
Home Articles Contact Us
 
 
 
 
Simple String Encryption in ASP.NET and VB (0 Comments)
Admin: Posted Date: April 4, 2010

This tutorial will show how we can create a method that provides quick and easy string encryption and decryption for our less sensitive data. Not recommended for highly personal data. VB.NET.

Simple String Encryption in ASP.NET and VB

This tutorial will show how we can create a method that provides quick and easy string encryption and decryption for our less sensitive data. Not recommended for highly personal data. VB.NET

Data Protection is a must these days, and if we are able to encrypt our data easily, it makes a big difference. This tutorial will show how we can create a simple method that will allow us to encrypt small amounts of data. The method uses an ASCii swap process, so it is not the most secure way of encrypting data, but it is very quick and easy to do for small amounts of data. What's more, the same method will also decrypt the data!


We start off our Default.aspx page in Visual Studio. We will add two textboxes and two buttons to it. We will set the second textbox and button to be invisible on page load:

 

<form id="form1" runat="server">
<asp:TextBox ID="txtText" runat="server"></asp:TextBox><br />
<asp:Button ID="butSubmit" runat="server" Text="Encrypt" OnClick="butSubmit_Click" /><br />
<asp:TextBox ID="txtResult" runat="server" Visible="false"></asp:TextBox>
<asp:Button ID="butDecrypt" runat="server" Text="Decrypt" Visible="false" OnClick="butDecrypt_Click" />
</form>

We moved our web sites to Server Intellect and have found them to be incredibly professional. Their setup is very easy and we were up and running in no time.

One textbox and button will be used to encrypt data, and the other will be used to decrypt the data. From the code snippet above, you can see that we have already declared our onclick event handlers. The code behind for both buttons is as follows:

 

Protected Sub butSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles butSubmit.Click
txtResult.Text = SimpleEncrypt(txtText.Text)
txtResult.Visible = True
butDecrypt.Visible = True
txtText.Visible = False
butSubmit.Visible = False
End Sub

Protected Sub butDecrypt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles butSubmit.Click
txtText.Text = SimpleEncrypt(txtResult.Text)
txtText.Visible = True
butSubmit.Visible = True
txtResult.Visible = False
butDecrypt.Visible = False
End Sub

I just signed up at Server Intellect and couldn't be more pleased with my Windows Server! Check it out and see for yourself.

Both are identical; both buttons call the same method. This is because the method itself knows when to encrypt and when to decrypt, you will see how shortly. The buttons also show and hide the other elements, depending on if the data is being encrypted or decrypted.
Now if we take a look at the method, we will see how the encryption is performed:

 

Public Function SimpleEncrypt(ByVal TheText As String) As String
Dim tempChar As String = Nothing
Dim i As Integer = 0
For i = 1 To TheText.Length
If ToInt32(TheText.Chars(i - 1)) < 128 Then
tempChar = System.Convert.ToString(ToInt32(TheText.Chars(i - 1)) + 100)
ElseIf ToInt32(TheText.Chars(i - 1)) > 128 Then
tempChar = System.Convert.ToString(ToInt32(TheText.Chars(i - 1)) - 100)
End If
TheText = TheText.Remove(i - 1, 1).Insert(i - 1, (CChar(ChrW(tempChar))).ToString())
Next i
Return TheText
End Function

We migrated our web sites to Server Intellect over one weekend and the setup was so smooth that we were up and running right away. They assisted us with everything we needed to do for all of our applications. With Server Intellect's help, we were able to avoid any headaches!


 

The method simply loops through each character in the string provided by the user and alters it's Unicode value by adding 100 to it, which outputs underadable text. The method then detects encrypted data by checking each character to see if its Unicode value is above 128 - and if it is, it will subtract the 100 it has previously added, thus returning it to its original value and making it readable again. Now if we run this, we should be able to encrypt and decrypt any type of string. The full code-behind is as follows:

 

Imports System.Convert

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

Public Function SimpleEncrypt(ByVal TheText As String) As String
Dim tempChar As String = Nothing
Dim i As Integer = 0
For i = 1 To TheText.Length
If ToInt32(TheText.Chars(i - 1)) < 128 Then
tempChar = System.Convert.ToString(ToInt32(TheText.Chars(i - 1)) + 100)
ElseIf ToInt32(TheText.Chars(i - 1)) > 128 Then
tempChar = System.Convert.ToString(ToInt32(TheText.Chars(i - 1)) - 100)
End If
TheText = TheText.Remove(i - 1, 1).Insert(i - 1, (CChar(ChrW(tempChar))).ToString())
Next i
Return TheText
End Function

Protected Sub butSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles butSubmit.Click
txtResult.Text = SimpleEncrypt(txtText.Text)
txtResult.Visible = True
butDecrypt.Visible = True
txtText.Visible = False
butSubmit.Visible = False
End Sub

Protected Sub butDecrypt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles butSubmit.Click
txtText.Text = SimpleEncrypt(txtResult.Text)
txtText.Visible = True
butSubmit.Visible = True
txtResult.Visible = False
butDecrypt.Visible = False
End Sub
End Class

 

 
 
Add a Comment:
 
(You must be signed in to comment on an article. Not a member? Click here to register)
   
Title:

Comments: