home *** CD-ROM | disk | FTP | other *** search
- Attribute VB_Name = "Crypto"
- Public ecstr As String
-
- Function Encrypt(instring As String, key1 As Integer, key2 As Integer)
- ec1 = Enc1(instring, key1)
- ec2 = Enc1(ec1, key2)
- Randomize
- keycode = Int(Rnd() * 32000)
- kchi = Int(keycode / 255)
- kclo = keycode - (kchi * 255)
- ec3 = Enc1(ec2, keycode)
- Encrypt = Chr(kchi) & Chr(kclo) & ec3
- Debug.Print (Asc(Left(Encrypt, 1)) * 255) + Asc(Mid(Encrypt, 2, 1))
- End Function
-
-
- Function Enc1(instring, key)
- slen = Len(instring)
- Rnd (-1)
- Randomize (key)
- OpStr = ""
- For tmp1 = 1 To slen
- thiskey = Rnd() * 255
- dd = Asc(Mid(instring, tmp1, 1))
- dd = dd + thiskey
- If dd > 255 Then dd = dd - 255
- OpStr = OpStr & Chr(dd)
- Next
- Enc1 = OpStr
- End Function
-
- Function Decrypt(instring As String, key1 As Integer, key2 As Integer)
- On Error GoTo e_trap
- 'first remove the outer key from the string
- outerkey = (Asc(Left(instring, 1)) * 255) + Asc(Mid(instring, 2, 1))
- codestr = Mid(instring, 3, Len(instring) - 2)
- dc1 = dec1(codestr, outerkey)
- dc2 = dec1(dc1, key2)
- dc3 = dec1(dc2, key1)
- Decrypt = dc3
- Exit Function
- e_trap:
- Resume Next
- End Function
-
- Function dec1(instring, keycode)
- slen = Len(instring)
- Rnd (-1)
- Randomize (keycode)
- OpStr = ""
- For tmp1 = 1 To slen
- thiskey = Rnd() * 255
- dd = Asc(Mid(instring, tmp1, 1))
- dd = dd - thiskey
- If dd < 0 Then dd = dd + 255
- OpStr = OpStr & Chr(dd)
- Next
- dec1 = OpStr
- End Function
-
-
-