ich habe zu Übungszwecke mal einen kleinen Keygenerator geschrieben, welcher euch Keys erstellt und auch überprüft. Ich stelle ihn hier zur Verfügung, vielleicht kann ihn ja jemand gebrauchen oder hat noch ein paar Verbesserungsvorschläge
Beschreibung:
Ein simpler Keygenerator, welcher Schlüssel erstellt überprüft.
Je nach Einstellung hat der Schlüssel zum Beispiel so ein aussehen:
"cfhSL-NNnNS-dPyjn-Z6vlG-1SMbV"
Folgende Einstellungen könnt ihr machen:
/// <summary>
/// Legt die Anzahl der Schlüsselelemente fest. Muss größer oder gleich 2 sein.
/// </summary>
public int numberOfKeyElements
{
// 5
}
/// <summary>
/// Setzt die Anzahl der Zeichen pro Schlüsselelement oder gibt diese zurück! Muss größer oder gleich 3 sein!
/// </summary>
public int KeyLengthPE
{
// 5
}
/// <summary>
/// Setzt oder gibt das Trennzeichen für die Schlüsselelemente zurück. Das Trennzeichen darf nicht in den verwendbaren Zeichen für den Schlüssel vorkommen!
/// </summary>
public char KeySeperator
{
// -
}
/// <summary>
/// Setzt oder gibt den Schlüsseltypen zurück.
/// </summary>
public KeyTyp Keytyp
{
// KeyTyp.AlphaNumeric (also Zahlen und Buchstaben String)
// Möglich sind noch Numeric (nur Zahlenstring) und Alpha (nur Buchstabenstring)
}
/// <summary>
/// Legt die validen Buchstaben für den Schlüssel fest.
/// </summary>
public string ValidAlphaKeys
{
// ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
}
/// <summary>
/// Legt die validen numerischen Zeichen für den Schlüssel fest.
/// </summary>
public string ValidNumericKeys
{
// 0123456789
}
/// <summary>
/// Legt fest oder gibt an, ob die Groß- / Kleinschreibung beachtet wird.
/// </summary>
public bool UseCaseSensitive
{
// true
}
Dies sind die Einstellungsmöglichkeiten. Die Kommentare geben die Standardwerte wieder. Nun noch kurz zu den Erstellen / Prüfen funktionen.
/// <summary>
/// Erstellt einen Schlüssel.
/// </summary>
/// <returns>Gibt einen Schlüssel als String zurück, getrennt durch den Seperator.</returns>
public string GenerateKey()
{
}
/// <summary>
/// Erstellt einen Schlüssel.
/// </summary>
/// <returns>Gibt einen Schlüssel als Array zurück.</returns>
public string[] GenerateKeyAr()
{
}
/// <summary>
/// Prüft einen Schlüssel, welcher anhand des "KeySeperator" aufgesplittet wird.
/// </summary>
/// <param name="Key">Der Schlüssel als kompletter String</param>
/// <returns>true wenn der Schlüssel valid ist, false wenn nicht.</returns>
public bool CheckKey(string Key)
{
}
/// <summary>
/// Prüft einen Schlüssel anhand der einzelnen Elemente.
/// </summary>
/// <param name="KeyElements">Array mit den einzelnen Schlüsselelementen</param>
/// <returns>true wenn der Schlüssel valid ist, false wenn nicht.</returns>
public bool CheckKey(string[] KeyElements)
{
}
Denke die Erklärungen sind selbst sprechend!
Im Anhang findet ihr eine kompilierte DLL sowie den Source Code.
Wünsche viel Spaß damit und ich dankbar für eure Kommentare
Ach ja noch kurz, der "Algorithmus" ist was selbst ausgedachtes und sicherlich nichts wirklich sicheres aber ich denke für kleinere Dinge sollte er ausreichen.
MfG Björn
Schlagwörter: Key, Gen, Keygenerator, Generator, Schlüssel, Serial