Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Tips & tricks

#143 - Gör en egen kryptering av textmassor eller användare

Postat 2000-12-22 11:36:38 av Pelle Johansson i Kategori Programmering, C#, Kommandon med 0 Kommentarer

Enum CryptLevel
[32-Bit] = 0
[64-Bit] = 1
End Enum

Public Function Encode(Data As String, Optional Depth As Integer) As String
Dim TempChar As String
Dim TempAsc As Integer
Dim NewData As String
Dim vChar As Integer

For vChar = 1 To Len(Data)
TempChar = Mid$(Data, vChar, 1)
TempAsc = Asc(TempChar)
If Depth = 0 Then Depth = 40 ' default djup
If Depth > 123 Then Depth = 48
TempAsc = TempAsc + Depth
If TempAsc > 123 Then TempAsc = TempAsc - 75
If TempAsc = 107 Then TempAsc = 125
If TempAsc = 91 Then TempAsc = 35
If TempAsc = 92 Then TempAsc = 43
If TempAsc = 93 Then TempAsc = 36
If TempAsc = 94 Then TempAsc = 40
If TempAsc = 95 Then TempAsc = 33
If TempAsc = 96 Then TempAsc = 36
TempChar = Chr(TempAsc)
NewData = NewData & TempChar
Next vChar
Encode = NewData
End Function

Public Function GetPassCode(sUsername As String, _
cEncryptionLevel As CryptLevel, iWidth As Integer, _
iMaxOutput As Integer, Optional sCompanyName)

Dim DTS1 As Variant
Dim DTS2 As String

If sUsername = "" Then
MsgBox "Beklagar, Skriv ett användarnamn", vbExclamation, "Fel"
Exit Function
End If

DTS1 = "BTM-" & iWidth + 21
If Len(sCompanyName) <= 0 Then
If cEncryptionLevel = [32-Bit] Then
For I = 0 To 31
DTS2 = Encode(sUsername, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
Else
For I = 0 To 63
DTS2 = Encode(sUsername, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
End If
Else
If cEncryptionLevel = [32-Bit] Then
For I = 0 To 31
DTS2 = Encode(sUsername & sCompanyName, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
Else
For I = 0 To 63
DTS2 = Encode(sUsername & sCompanyName, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
End If
End If

If Len(DTS1 & DTS2) >= iMaxOutput Then
DTS3 = Mid(DTS1 & DTS2, 1, iMaxOutput)
GetPassCode = DTS3
Else
GetPassCode = DTS1 & DTS2
End If
End Function

Public Function CheckPassCode(sUsername As String, _
cEncryptionLevel As CryptLevel, sPasscode As String, _
iWidth As Integer, iMaxOutput As Integer, _
Optional sCompanyName As String) As Boolean

Dim DTS1 As Variant
Dim DTS2, DTS3, TempDump As String
If sUsername = "" Then
MsgBox "Beklagar, Ange ett användarnamn.", vbExclamation, "Fel"
Exit Function
End If
DTS1 = "BTM-" & iWidth + 21

If Len(sCompanyName) <= 0 Then
If cEncryptionLevel = [32-Bit] Then
For I = 0 To 31
DTS2 = Encode(sUsername, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
Else
For I = 0 To 63
DTS2 = Encode(sUsername, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
End If
Else
If cEncryptionLevel = [32-Bit] Then
For I = 0 To 31
DTS2 = Encode(sUsername & sCompanyName, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
Else
For I = 0 To 63
DTS2 = Encode(sUsername & sCompanyName, 48)
' DO NOT CHANGE THE 48
sUsername = DTS2
Next
End If
End If

If Len(DTS1 & DTS2) >= iMaxOutput Then
DTS3 = Mid(DTS1 & DTS2, 1, iMaxOutput)
DTS4 = DTS3
Else
DTS4 = DTS1 & DTS2
End If

If DTS4 = sPasscode Then
CheckPassCode = True
Else
CheckPassCode = False
End If

End Function

Sample:
Size:

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 635
27 958
271 741
514
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies