Solved

Posted on 2002-07-26
189 Views
I'm looking for a encryption where the encrypted string is in the range A to z. We want to encrypt the customers name as a kind of license code. All the normal encryption function give some characters which are in the high ascii numbers.
0
Question by:dgb

LVL 4

Expert Comment

Create an algorithm to convert customer name into a big number.  Convert the number base to 52, decode as 0=A, 51=z.

0

LVL 20

Expert Comment

0

LVL 6

Accepted Solution

pierrecampe earned 100 total points
This does what you want,it is a simple replacement algoritm
it in fact is the german war-time 'enigma' system
since it is for a pasword no decoding is needed
but if you want decoding just pre/append 1 more character to the encoded string, this character beeing the encoding alphabet used
ie: 'A' for alphabet(1)...'z' for alphabet(52)

Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 3
Print sEncode("pierrecampe", i)
Next
End Sub

Public Function sEncode(What As String, WhatAlphabet As Integer) As String
Dim i As Integer
Dim pos As Integer
Dim TheAlphabet As String
Dim Alphabet(1 To 3) As String 'can be any number of dimentions you like
Alphabet(1) = "RrTtAaZzEeYyPpUuIiOoQqMwNmLlKkJjHhSsDdFfGgWnBbXxCcVv"
Alphabet(2) = "zERtAkJaZeYmLyPuIiOpUoQqMlKhSjHsDfGdFgWnBwNxCbXcVrTv"
Alphabet(3) = "cVyPTtZeRrzEYiAaOoQqLlKnuIBpUkJMmjHhSdFfGgWwNxCbXvsD"
a\$ = ""
For i = 1 To Len(What)
pos = InStr(TheAlphabet, Mid(What, i, 1))
a\$ = a\$ & Mid(Alphabet(WhatAlphabet), pos, 1)
Next
sEncode = a\$
End Function
0

LVL 16

Expert Comment

learning...
0

LVL 5

Expert Comment

You can use come encryption tool such as Rc2.dll

To use the Rc2.dll include the Dll in your references & then use the below code to encrypt

'' Encrypt
Dim obj_rc As New RC2Lib.RC2
dim str_Encrypted_Name  as string
str_Encrypted_Name = obj_rc.Encrypt "Customername"

'' Decrypt
Dim obj_rc As New RC2Lib.RC2
dim str_Decrypted_Name  as string
str_Decrypted_Name = obj_rc.Encrypt "Encrypted String"

0

LVL 6

Expert Comment

jayeshshah, you are not new to EE, so you should now better than to lock a question
to lock a question is EXTREMELY impolite
and more so since your 'answer' is not adding 'anything' to his topic, you did not even have the decency to tell dqb where to get this 'fantastic' dll
dqb, feel free to reject that 'answer'

0

## Featured Post

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…