Einfacher Passwort-Generator unter Java

Das Ausdenken von Passwörtern ist prinzipiell eine schlechte Idee; besser ist es, wenn diese automatisch generiert werden. Ein solcher Generator kann problemlos selbst geschrieben werden. In diesem Fall in Java:

public class PasswordGenerator {

    private static final SecureRandom secureRandom = new SecureRandom();

    private static final String alpha = "abcdefghijklmnopqrstuvwxyz";
    private static final String alphaCaps = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    private static final String numeric = "0123456789";
    private static final String specials = "!§$%&/()=?.:,;+*#<>";

    public enum CharacterSet {
        Alpha,
        AlphaCaps,
        AlphaBoth,
        Numeric,
        AlphaNumeric,
        Special,
        All
    }

    private static String getCharacters(CharacterSet characterSet) {

        switch (characterSet) {
            case Alpha:
                return alpha;
            case AlphaCaps:
                return alphaCaps;
            case AlphaBoth:
                return alpha + alphaCaps;
            case Numeric:
                return numeric;
            case AlphaNumeric:
                return alpha + alphaCaps + numeric;
            case Special:
                return specials;
            case All:
                return alpha + alphaCaps + numeric + specials;
        }

        return alpha;
    }

    public static String generatePassword(int length, CharacterSet characterSet) {

        String characters = getCharacters(characterSet);
        StringBuilder stringBuilder = new StringBuilder();

        for (int i = 0; i < length; i++) {
            stringBuilder.append(characters.charAt(secureRandom.nextInt(characters.length())));
        }

        return stringBuilder.toString();
    }
}

Der Generator funktioniert im Groben so, das aus einem bestimmten Zeichenvorrat zufällig Zeichen gewählt und aus diesen das Passwort erzeugt wird. Als Zufallsquelle kommt nicht die gebräuchliche Klasse Random zum Einsatz, sondern die Klasse SecureRandom. Diese von Random abgeleitete Klasse erzeugt aus kryptografischer Sicht starke Zufallszahlen, was die Sicherheit des Generators erhöht. Als kleines Gimmick lässt sich der gewünschte Zeichensatz, aus welchem das Passwort generiert werden soll, über einen Enum auswählen:

String s = PasswordGenerator.generatePassword(64, PasswordGenerator.CharacterSet.All);
System.out.println(s);

Damit würde auf der Konsole ein Passwort mit 64 Zeichen ausgegeben werden, welches den kompletten Zeichenvorrat der Generator-Klasse nutzt.

Favicon-Generator

Vor zwei Jahren schrieb ich über einen Dienst, welcher Favicons für die unterschiedlichen Systeme erzeugt. In den letzten Tagen war ich für ein Projekt wieder auf der Suche nach einem solchen Dienst. Diesmal bin ich beim Real Favicon Generator gelandet. Im Gegensatz zum damals vorgestellten Generator arbeitet der Real Favicon Generator wesentlich umfassender.

realfavicongenerator.net

Nachdem Upload einer Grafik für das Favicon, werden einige Einstellungen abgefragt und anschließend werden die entsprechenden Bilder erzeugt. Nach der Umwandlung erhält der Nutzer die entsprechenden Dateien und die Informationen zur Einbindung. Neben der Oberfläche, verfügt der Dienst über eine API, mit welcher der Dienst in eigene Projekte eingebunden werden kann. Zu finden ist der Dienst unter realfavicongenerator.net.

Wortwolken generieren

Wortwolken sind ein beliebtes Mittel um Informationen zu visualisieren. Allerdings möchten die wenigsten eine solche Wolke von Hand erstellen. Stattdessen werden meist Generatoren dafür genutzt. Mit dem Dienst Wortwolken.com, welcher einen solchen Generator liefern, können Wortwolken unkompliziert erstellt werden.

Eine mit dem Dienst erzeugte Wortwolke

Der Dienst ermöglicht nicht nur die Generierung normaler Wortwolken, sondern liefert eine Reihe von Optionen. So kann das Aussehen der Wortwolke mithilfe dieser Einstellungen beeinflusst werden. Von der Schriftart, über die Form der Wortwolke und die Abstände kann die Wolke fein konfiguriert werden. Der Text kann direkt auf der Seite eingegeben oder importiert werden. Ist die Wortwolke erzeugt, so kann diese in der Größe der Wahl exportiert werden. Für den Export stehen unterschiedlichste Dateiformate wie PNG, JPG, PDF und SVG zur Verfügung.

Code Snippets über Postman generieren

Mit der App Postman ist es möglich REST-API Aufrufe gegen beliebige Endpunkte durchzuführen. Allerdings bietet Postman weitere Funktionalität, welche vom normalen Tagesgeschäft der App abweicht. Eine dieser Funktionalitäten ist der Code Snippet Generator.

Code Snippets können für unterschiedliche Sprachen und Frameworks erzeugt werden

Mit diesem Generator kann ein beliebiger Request in Quellcode umgewandelt werden. Der Generator unterstützt unterschiedliche Programmiersprachen und Frameworks. Für Java würde, unter Nutzung der OK HTTP Bibliothek, das Ganze so aussehen:

OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "{\r\n\tfield: \"data\",\r\n\tfield2: \"data\",\r\n\tfield3: \"data\"\r\n}");
Request request = new Request.Builder()
  .url("https://example.com")
  .post(body)
  .addHeader("HeaderField", "headerValue")
  .addHeader("Content-Type", "text/plain")
  .addHeader("User-Agent", "PostmanRuntime/7.11.0")
  .addHeader("Accept", "*/*")
  .addHeader("Cache-Control", "no-cache")
  .addHeader("Postman-Token", "7dda208f-ba63-467d-99cd-98455c2b3a7a,9125dbf4-cd5c-4070-87e3-fcda7416ca08")
  .addHeader("Host", "example.com")
  .addHeader("accept-encoding", "gzip, deflate")
  .addHeader("content-length", "56")
  .addHeader("Connection", "keep-alive")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Erreichbar ist das Feature über den Code-Link, welcher unter dem Send-Button des Hauptfensters zu finden ist. Nach einem Klick auf den Link erscheint ein Dialog in welchem die gewünschte Sprach- und Frameworkkombination ausgewählt werden kann.

Unter dem Send-Button ist der Code-Link zu finden

Als Sprachen für die Generierung von Code Snippets werden unter anderem C#, Go, Java, JavaScript, Objective-C, PHP, Python und Swift unterstützt. Daneben werden bestimmte Tools wie curl und wget unterstützt. Postman selber kann unter getpostman.com bezogen werden.

Namensgenerator für Hipster-Kinder

Kaum ist das Kind da, benötigt es einen Namen. Und wer in der Großstadt wohnt, benötigt dann natürlich einen entsprechenden hippen Namen für das Hipster-Kind. Hier hilft der Hipster Baby Name Generator von Alex Davey.

Am Ende liefert der Generator den passenden Namen für das Kind

Bei diesem Generator wird das Geschlecht ausgewählt, anscheinend müssen noch ein paar kurze Fragen über das zukünftige Schlafverhalten und Ernährung des Sprösslings ausgewählt werden und schon wird der passende Name generiert. Zu finden ist der Generator unter alexdavey.ca/baby/.