devxlogo

EncryptString – Encode and decode a string

EncryptString – Encode and decode a string

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As _    Any, source As Any, ByVal bytes As Long)' encrypt a string using a password'' you must reapply the same function (and same password) on' the encrypted string to obtain the original, non-encrypted string'' you get better, more secure results if you use a long password' (e.g. 16 chars or longer). This routine works well only with ANSI strings.Function EncryptString(ByVal Text As String, ByVal Password As String) As String    Dim passLen As Long    Dim i As Long    Dim passChr As Integer    Dim passNdx As Long        passLen = Len(Password)    ' null passwords are invalid    If passLen = 0 Then Err.Raise 5        ' move password chars into an array of Integers to speed up code    ReDim passChars(0 To passLen - 1) As Integer    CopyMemory passChars(0), ByVal StrPtr(Password), passLen * 2        ' this simple algorithm XORs each character of the string    ' with a character of the password, but also modifies the    ' password while it goes, to hide obvious patterns in the    ' result string    For i = 1 To Len(Text)        ' get the next char in the password        passChr = passChars(passNdx)        ' encrypt one character in the string        Mid$(Text, i, 1) = Chr$(Asc(Mid$(Text, i, 1)) Xor passChr)        ' modify the character in the password (avoid overflow)        passChars(passNdx) = (passChr + 17) And 255        ' prepare to use next char in the password         passNdx = (passNdx + 1) Mod passLen    Next    EncryptString = Text    End Function

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist