|
ASP Kitchen: ASPWatch.com articles: ROT13 Encoding in ASP.NET using C# and VB.NET ROT13 Encoding in ASP.NET using C# and VB.NETThis article is based on an article I wrote that described how to encode and decode strings using the ROT13 method in ASP (VBScript and JScript) and client-side JavaScript. The ROT13 method is a very old method of encoding (but not encrypting!) text, but given the original article's popularity I thought it would be useful to update it for the .NET Framework using both C# and VB.NET.
ROT13 Encoding Using VB.NETIn this example, a ROT13 encoding/decoding function is created as a function named ROT13Encode within a class called TextEncoder. The code for the TextEncoder class is shown below. The class can be compiled into a binary component file, ROT13Converter.dll by using the following syntax from the command line: vbc TextEncoder.vb /out:bin/ROT13Converter.dll /t:library Alternatively, use VB.NET to compile the dll. Imports SystemNamespace BRETTB 'Contains methods for encoding (but not encrypting!) text. Public Class TextEncoder 'Encodes text using the ROT13 algorithm Public Function ROT13Encode(InputText As String) As String Dim i As Integer Dim CurrentCharacter As Char Dim CurrentCharacterCode As Integer Dim EncodedText As String = "" 'Iterate through the length of the input parameter For i = 0 To InputText.Length - 1 'Convert the current character to a char CurrentCharacter = System.Convert.ToChar(InputText.Substring(i, 1)) 'Get the character code of the current character CurrentCharacterCode = Microsoft.VisualBasic.Asc(CurrentCharacter) 'Modify the character code of the character, - this 'so that "a" becomes "n", "z" becomes "m", "N" becomes "Y" and so on If CurrentCharacterCode >= 97 And CurrentCharacterCode <= 109 Then CurrentCharacterCode = CurrentCharacterCode + 13 Else If CurrentCharacterCode >= 110 And CurrentCharacterCode <= 122 Then CurrentCharacterCode = CurrentCharacterCode - 13 Else If CurrentCharacterCode >= 65 And CurrentCharacterCode <= 77 Then CurrentCharacterCode = CurrentCharacterCode + 13 Else If CurrentCharacterCode >= 78 And CurrentCharacterCode <= 90 Then CurrentCharacterCode = CurrentCharacterCode - 13 End If End If End If 'Add the current character to the string to be returned End If EncodedText = EncodedText + Microsoft.VisualBasic.ChrW(CurrentCharacterCode) Next i Return EncodedText End Function 'ROT13Encode End Class 'TextEncoder End Namespace 'BRETTB Once the code has been compiled, the dll can be placed in the web application's /bin folder and used using a syntax like this: Dim TextEncodingObject As New TextEncoder()TextBox1.Text = TextEncodingObject.ROT13Encode(TextBox1.Text) The code samples contain an example of how to encode and decode text through a VB.NET web form using ROT13. ROT13 Encoding Using C#In this example, a ROT13 encoding/decoding function is created as a function named ROT13Encode within a class called TextEncoder. The code for the TextEncoder class is shown below. using System;namespace BRETTB { /// <summary> /// Contains methods for encoding (but not encrypting!) text. /// </summary> public class TextEncoder { /// <summary> /// Encodes text using the ROT13 algorithm /// </summary> /// <param name="InputText"></param> /// <returns></returns> public string ROT13Encode(string InputText) { int i; char CurrentCharacter; int CurrentCharacterCode; string EncodedText = ""; //Iterate through the length of the input parameter for (i = 0; i < InputText.Length; i++) { //Convert the current character to a char CurrentCharacter = System.Convert.ToChar(InputText.Substring(i, 1)); //Get the character code of the current character CurrentCharacterCode = (int) CurrentCharacter; //Modify the character code of the character, - this //so that "a" becomes "n", "z" becomes "m", "N" becomes "Y" and so on if (CurrentCharacterCode >= 97 && CurrentCharacterCode <= 109) { CurrentCharacterCode = CurrentCharacterCode + 13; } else if (CurrentCharacterCode >= 110 && CurrentCharacterCode <= 122) { CurrentCharacterCode = CurrentCharacterCode - 13; } else if (CurrentCharacterCode >= 65 && CurrentCharacterCode <= 77) { CurrentCharacterCode = CurrentCharacterCode + 13; } else if (CurrentCharacterCode >= 78 && CurrentCharacterCode <= 90) { CurrentCharacterCode = CurrentCharacterCode - 13; } //Add the current character to the string to be returned EncodedText = EncodedText + (char) CurrentCharacterCode; } return EncodedText; } } } Once the code has been compiled, the dll can be placed in the web application's /bin folder and used using a syntax like this: TextEncoder TextEncodingObject = new TextEncoder(); The code samples contain an example of how to encode and decode text through a C# web form using ROT13. Code samples
Further reading
Useful Development Tools
Author detailsBrett Burridge has worked as a web developer since 1997 and has developed web applications for a range of corporations, start up busiensses and educational establishments. Brett is presently employed as an Internet developer and technical writer through his own company, Winnersh Triangle Web Solutions Limited. The company produces a number of innovative products, including a range of software documentation tools, which include the ASP Documentation Tool, the .NET Documentation Tool for VB.NET and C#, and the SQL Server Documentation Tool. Other products include The Website Utility, which functions as a website error checker, search engine optimizer and ASP/ASP.NET search engine builder application. As well as the ASPAlliance, Brett has written articles for Ariadne.ac.uk, ASPToday, the software documentation portal www.softwaredocumentation.info, and has contributed recipes to the ASP.NET Developer's Cookbook. links Outside web development, Brett is interested in travelling (here are my travel logs from New York, Hong Kong and Tokyo), digital photography (here's my photo gallery), tropical fishkeeping and collecting contemporary works of art by artists such as Doug Hyde. Contact Brett by emailing Article history"ROT13 Encoding in ASP.NET using C# and VB.NET" published on ASPAlliance.com on 16 May 2003. ASP Kitchen: ASPWatch.com articles: ROT13 Encoding in ASP.NET using C# and VB.NET |
|
|||||||||||||||||||||||||||||||
| © page content copyright Brett Burridge 1998 - 2009. | ||||||||||||||||||||||||||||||||