"Verschlüsselung" durch Zeichen-Austausch

    • VB.NET

      "Verschlüsselung" durch Zeichen-Austausch

      ErfinderDesRades - Moderator - Notiz: Das folgende "Verschlüsselungs"-Verfahren ist gänzlich unsicher, und eher von historischem Interesse, denn es ähnelt der CaesarVerschlüsselung.
      Bitte nicht produktiv einsetzen!



      Dieses Beispiel zeigt, wie man Text relativ sicher in VB.net verschlüsseln kann. Dabei bleiben alle Sonderzeichen (auch "ß", "ö", "ä", ü" usw) bestehen. Auch die Groß und Kleinschreibung ist nach dem Entschlüsseln wie vorher vorhanden.

      VB.NET-Quellcode

      1. ''' <summary>
      2. ''' Verschlüsselt oder entschlüsselt einen Text.
      3. ''' </summary>
      4. ''' <remarks></remarks>
      5. Public Class Crypter
      6. ''' <summary>
      7. ''' Verschlüsselt einen Text mithilfe der Caesar-Verschlüsselung
      8. ''' </summary>
      9. ''' <param name="stext"></param>
      10. ''' <returns>Der verschlüsselte Text</returns>
      11. ''' <remarks></remarks>
      12. Shared Function CryptCaesar(ByVal sText As String) As String
      13. Dim zahlenreihe As String = ""
      14. Dim alphabet As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
      15. For i = 0 To sText.Length - 1
      16. If alphabet.Contains(sText.Chars(i)) Then
      17. Dim pos As Integer = alphabet.IndexOf(sText.Chars(i)) + 1
      18. If zahlenreihe = "" Then
      19. zahlenreihe = alphabet.Chars(pos)
      20. Else
      21. zahlenreihe = zahlenreihe + alphabet.Chars(pos)
      22. End If
      23. End If
      24. Next
      25. Return zahlenreihe
      26. End Function
      27. ''' <summary>
      28. ''' Entschlüsselt einen Text mithilfe der Caesar-Verschlüsselung.
      29. ''' </summary>
      30. ''' <param name="stext"></param>
      31. ''' <returns>Der entschlüsselte Text</returns>
      32. ''' <remarks></remarks>
      33. Shared Function DeCryptCaesar(ByVal sText As String) As String
      34. Dim zahlenreihe As String = ""
      35. Dim alphabet As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
      36. For i = 0 To sText.Length - 1
      37. If alphabet.Contains(sText.Chars(i)) Then
      38. Dim pos As Integer = alphabet.IndexOf(sText.Chars(i)) - 1
      39. If zahlenreihe = "" Then
      40. zahlenreihe = alphabet.Chars(pos)
      41. Else
      42. zahlenreihe = zahlenreihe + alphabet.Chars(pos)
      43. End If
      44. End If
      45. Next
      46. Return zahlenreihe
      47. End Function
      48. ''' <summary>
      49. ''' Verschlüsselt einen Text.
      50. ''' </summary>
      51. ''' <param name="stext"></param>
      52. ''' <returns>Der verschlüsselte Text</returns>
      53. ''' <remarks></remarks>
      54. Shared Function CryptNumericbased(ByVal sText As String) As String
      55. Dim alphabet As String = "abcdefghijklmnopqrstuvwxyz1234567890!""§$%&/()=?-.,;:_'*+#^°<> ßABCDEFGHIJKLMNOPQRSTUVWXYZäöüÄÖÜ"
      56. Dim zahlenreihe As String = ""
      57. For i = 0 To sText.Length - 1
      58. If alphabet.Contains(sText(i)) = True Then
      59. Dim pos As Integer = alphabet.IndexOf(sText(i))
      60. zahlenreihe = zahlenreihe & pos & "\"
      61. End If
      62. Next
      63. Return zahlenreihe
      64. End Function
      65. ''' <summary>
      66. ''' Entschlüsselt einen Text.
      67. ''' </summary>
      68. ''' <param name="stext"></param>
      69. ''' <returns>Der entschlüsselte Text</returns>
      70. ''' <remarks></remarks>
      71. Shared Function DeCryptNumericbased(ByVal sText As String) As String
      72. Dim v As Array = Split(sText, "\")
      73. Dim alphabet As String = "abcdefghijklmnopqrstuvwxyz1234567890!""§$%&/()=?-.,;:_'*+#^°<> ßABCDEFGHIJKLMNOPQRSTUVWXYZäöüÄÖÜ"
      74. Dim buchstabenreihe As String = ""
      75. For i = 0 To UBound(v) - 1
      76. buchstabenreihe = buchstabenreihe & alphabet(v(i))
      77. Next
      78. Return buchstabenreihe
      79. End Function
      80. End Class

      Verwendung ist denke ich klar, hier ein Beispiel:

      Der Text "Das ist ein verschlüsselter Text." lautet mit dieser Methode verschlüsselt:
      66\0\18\61\8\18\19\61\4\8\13\61\21\4\17\18\2\7\11\18\18\4\11\19\4\17\61\82\4\23\19\48\

      Das ganze ist aber nicht unknackbar, daher mein Verweis auf diese Website für noch stärkere Verschlüsselung.

      Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „ErfinderDesRades“ ()