Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1896 | Besucher online: 109
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Maximal Anzahl von Passwortkombinationen ermitteln


Autor: Tim Hartwig
Sprache: VB.NET
Bewertung:
7.48 (5 votes)
Anzahl der Aufrufe: 5545
  
Kick it on dotnet-kicks.de  

Beschreibung:

Diese Funktion berechnet die Stärke eines Passworts und gibt die Anzahl der möglichen Kombinationen zurück

Abgelegt unter: Passwort.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
''' <summary>
''' Diese Funktion berechnet die Stärke eines Passworts und gibt die Anzahl der möglichen Kombinationen zurück
''' </summary>
''' <param name="Password">Das zu prüfende Passwort</param>
''' <remarks>Für SpecialChar nehme ich einfach mal den Wert 32 weil das ein gängiger Wert für Sonderzeichen ist</remarks>
Public Function PasswordStrength(ByVal Password As String) As Double
    Try
        If Password.Length = 0 Then Return 0
        Dim ToByte() As Byte = System.Text.Encoding.Default.GetBytes(Password)
        Dim UpperCaseAlpha As Double = 0
        Dim LowerCaseAlpha As Double = 0
        Dim Numeric As Double = 0
        Dim SpecialChar As Double = 0
        For i As Integer = 0 To ToByte.Length - 1
            If ToByte(i) >= 65 And ToByte(i) <= 90 Then UpperCaseAlpha = 26
            If ToByte(i) >= 97 And ToByte(i) <= 122 Then LowerCaseAlpha = 26
            If ToByte(i) >= 48 And ToByte(i) <= 57 Then Numeric = 10
            If Not (ToByte(i) >= 65 And ToByte(i) <= 90) And Not (ToByte(i) >= 97 And ToByte(i) <= 122) And Not (ToByte(i) >= 48 And ToByte(i) <= 57) Then SpecialChar = 32
        Next
        Return Math.Pow(UpperCaseAlpha + LowerCaseAlpha + Numeric + SpecialChar, ToByte.Length)
    Catch ex As Exception
        Return -1
    End Try
End Function
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

General Bison schrieb am:  23.01.2009 15:25:03

Wirklich cool!
Sowas hab ich schon immer gesucht ;)
Habs auchs chon lange in meinen Favoriten, bin aber NIE dazu gekommen es mal zu banutzen. ABER nu gibs auch ne wertung.
General Bison schrieb am:  26.01.2009 12:30:02

hab das return in


Return String.Format("{0:0}", Math.Pow(UpperCaseAlpha + LowerCaseAlpha + Numeric + SpecialChar, ToByte.Length))


geändert um der Wissenschaftlichen Zahl zu entgehen ;)
Klemens Nanni schrieb am:  04.01.2011 20:48:45

Wieso verwendest du den Gleitkommazahltyp, wenn ausschließlich mit Ganzzahlen gerechnet wird?
Zum einen wird im Falle eines Sonderzeichens der entsprechende Wert gleich 12 Mal -eindeutig zu oft- geprüft, zum anderen käme ein If-Else-Konstrukt dem nicht umgesetzten Auschluss-Prinzip weit mehr zu Gute.
Ich möchte einmal auf meine, so denke ich, etwas gelungerene Umsetzung im folgenden Snippet aufmerksam machen: http://dotnet-snippets.de/dns/passwortgenerator-SID1482.aspx


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.