TText SICHER verschlüsseln/entschlüsseln

  • VB6

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von VBnator.

    TText SICHER verschlüsseln/entschlüsseln

    Hallo,

    ich möchte einen Text aus einer TextBox sicher verschlüsseln und in einer Datei abspeichen. Diese Datei soll man wieder laden können und den entschlüsselten Text in ein Label laden. Wenn man die Datei in einem Editor an schaut soll z.B. statt Hallo das irgend was sinnloses stehen.



    ES SOLL EINFACH SICHER SEIN

    Danke schonmal im vorraus!!!!!
    Die SuFu habe ich benutzt. Find ne Menge. Weiß aben nit wie ich das anwenden soll und zum Teil streicht der manches rot an. :(

    Kann mir jeman passende Quelltexte schreiben und ungefär so hinschreiben:

    Verschlüsseln:

    Visual Basic-Quellcode

    1. Hier soll ein Quelltext hin


    Entschlüsseln:

    Visual Basic-Quellcode

    1. Hier soll ein Quelltext hin


    Bitte. Es ist dringend. Wäre sehr dankbar.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VBnator“ ()

    wie sicher soll die verschlüsslung denn sein?
    Wenn das einfach nich jeder lesen soll guck mal hier:
    Filtern
    Edit: Ach ja, ist zwar für VB05, aber ich denke, das bekommst du noch umgeschrieben
    Hier eine lösung.

    Benötigt ein Modul (Name:modCryptText) ein Klassenmodul(Name:clsCryptText) eine TextBox zur eingabe (txtText2) ein Label zur ausgabe (lblLabel2)

    Verschlüsseln:

    Visual Basic-Quellcode

    1. Dim t As String
    2. t = EnCrypt(txtText2.Text, H3SDFSDSDSaa1)
    3. Open "C:\verschlüsselt.txt" For Output As #110
    4. Print #110, (t)
    5. Close #110


    Entschlüsseln:

    Visual Basic-Quellcode

    1. Dim t As String
    2. Open "C:\verschlüsselt.txt" For Input As #100
    3. Input #100, t
    4. If Crypt = True Then
    5. lblLabel2.Caption = EnCrypt(t, H3SDFSDSDSaa1)
    6. Else
    7. lblLabel2.Caption = DeCrypt(t, H3SDFSDSDSaa1)
    8. End If
    9. Close #100


    Modul1:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Global Crypt As Boolean
    3. Function EnCrypt(eText As String, eKey As String) As String
    4. Dim cipherTest As New clsCryptText
    5. cipherTest.KeyString = eKey
    6. cipherTest.Text = eText
    7. cipherTest.CryptMitXOR
    8. cipherTest.Stretch
    9. EnCrypt = cipherTest.Text
    10. End Function
    11. Function DeCrypt(dText As String, dKey As String) As String
    12. Dim cipherTest As New clsCryptText
    13. cipherTest.KeyString = dKey
    14. cipherTest.Text = dText
    15. cipherTest.DoCd
    16. cipherTest.CryptMitXOR
    17. DeCrypt = cipherTest.Text
    18. End Function


    Klassenmodul1:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Private mstrKey As String
    3. Private mstrText As String
    4. Public Property Let KeyString(strKey As String)
    5. mstrKey = strKey
    6. Initialize
    7. End Property
    8. Public Property Let Text(strText As String)
    9. mstrText = strText
    10. End Property
    11. Public Property Get Text() As String
    12. Text = mstrText
    13. End Property
    14. Public Sub CryptMitXOR()
    15. Dim lngC As Long
    16. Dim intB As Long
    17. Dim lngN As Long
    18. On Error Resume Next
    19. For lngN = 1 To Len(mstrText)
    20. lngC = Asc(Mid(mstrText, lngN, 1))
    21. intB = Int(Rnd * 256)
    22. Mid(mstrText, lngN, 1) = Chr(lngC Xor intB)
    23. Next lngN
    24. End Sub
    25. Public Sub Stretch()
    26. Dim lngC As Long
    27. Dim lngN As Long
    28. Dim lngJ As Long
    29. Dim lngK As Long
    30. Dim lngA As Long
    31. Dim strB As String
    32. On Error Resume Next
    33. lngA = Len(mstrText)
    34. strB = Space(lngA + (lngA + 2) \ 3)
    35. For lngN = 1 To lngA
    36. lngC = Asc(Mid(mstrText, lngN, 1))
    37. lngJ = lngJ + 1
    38. Mid(strB, lngJ, 1) = Chr((lngC And 63) + 59)
    39. Select Case lngN Mod 3
    40. Case 1
    41. lngK = lngK Or ((lngC \ 64) * 16)
    42. Case 2
    43. lngK = lngK Or ((lngC \ 64) * 4)
    44. Case 0
    45. lngK = lngK Or (lngC \ 64)
    46. lngJ = lngJ + 1
    47. Mid(strB, lngJ, 1) = Chr(lngK + 59)
    48. lngK = 0
    49. End Select
    50. Next lngN
    51. If lngA Mod 3 Then
    52. lngJ = lngJ + 1
    53. Mid(strB, lngJ, 1) = Chr(lngK + 59)
    54. End If
    55. mstrText = strB
    56. End Sub
    57. Public Sub DoCd()
    58. Dim lngC As Long
    59. Dim lngD As Long
    60. Dim lngE As Long
    61. Dim lngA As Long
    62. Dim lngB As Long
    63. Dim lngN As Long
    64. Dim lngJ As Long
    65. Dim lngK As Long
    66. Dim strB As String
    67. On Error Resume Next
    68. lngA = Len(mstrText)
    69. lngB = lngA - 1 - (lngA - 1) \ 4
    70. strB = Space(lngB)
    71. For lngN = 1 To lngB
    72. lngJ = lngJ + 1
    73. lngC = Asc(Mid(mstrText, lngJ, 1)) - 59
    74. Select Case lngN Mod 3
    75. Case 1
    76. lngK = lngK + 4
    77. If lngK > lngA Then lngK = lngA
    78. lngE = Asc(Mid(mstrText, lngK, 1)) - 59
    79. lngD = ((lngE \ 16) And 3) * 64
    80. Case 2
    81. lngD = ((lngE \ 4) And 3) * 64
    82. Case 0
    83. lngD = (lngE And 3) * 64
    84. lngJ = lngJ + 1
    85. End Select
    86. Mid(strB, lngN, 1) = Chr(lngC Or lngD)
    87. Next lngN
    88. mstrText = strB
    89. End Sub
    90. Private Sub Initialize()
    91. Dim lngN As Long
    92. Randomize Rnd(-1)
    93. For lngN = 1 To Len(mstrKey)
    94. Randomize Rnd(-Rnd * Asc(Mid(mstrKey, lngN, 1)))
    95. Next lngN
    96. End Sub

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VBnator“ ()