KeePass 2 - Bestimmte Option aktivieren

Es gibt bei KeePass wenn man ein Passwort anlegen möchte unter Open Password Generator -> Advanced zwei Optionen die ich gerne aktivieren möchte. Aber ein einfaches Häkchen setzen und mit OK bestätigen bringt nichts. Weiß hier vielleicht jemand wie man diese zwei Optionen aktivieren kann? Besten Dank

12467
 
Niemand ne Idee oder Vermutung, worans liegt? Habe auch schon KeePass.config.enforced.xml probiert, aber das erlaubt wohl andere Sachen...

.... wäre wirklich dankbar für Tipps.
 
Gabs da nichtmal was von KeePass das es erst ab dem nächsten Release funktioniert? Hast du es schon als Admin gestartet und evtl den Kompatibilitätsmodus mal gewechselt?

Alternativ könntest du es mittels den Pattern einbinden, oder Irre ich mich?
 
Ach so, dann ist dieses Feature noch gar nicht implementiert oder nur eine Vorschau.

Als Admin starten bringt leider nix.
Ich bin mir nicht sicher, aber ich glaube mal was gelesen zu haben darüber. Benutzt du Windows 10? Falls ja könntest du es im Win7-Modus noch starten, eventuell gibt es deshalb noch gewisse Problemchen. Ansonsten wüsste ich leider auch nicht weiter :-(

Ja das geht, dann ist die Position im String aber fest.
Stimmt, da war ja was.
 
Vielen Dank für die Hilfe....

So - ich habe mir einfach selber ein Programm erstellt. :D
Java:
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;

public class PWGen {
	public static final ArrayList<ArrayList<Character>> groups = new ArrayList<ArrayList<Character>>();
	static {
		ArrayList<Character> g1 = new ArrayList<Character>();
		for (int i = 'a'; i <= 'z'; i++) {
			g1.add((char) i);
		}
		ArrayList<Character> g2 = new ArrayList<Character>();
		for (int i = 'A'; i <= 'Z'; i++) {
			g2.add((char) i);
		}
		ArrayList<Character> g3 = new ArrayList<Character>();
		for (int i = '0'; i <= '9'; i++) {
			g3.add((char) i);
		}
		ArrayList<Character> g4 = new ArrayList<Character>();
		g4.add('-');
		ArrayList<Character> g5 = new ArrayList<Character>();
		g5.add('_');
		ArrayList<Character> g6 = new ArrayList<Character>();
		g6.add(' ');
		ArrayList<Character> g7 = new ArrayList<Character>();
		g7.add('!');
		g7.add('$');
		g7.add('%');
		g7.add('&');
		groups.addAll(List.of(g1, g2, g3, g4, g5, g6, g7));
	}

	public static final String getPassword(final int len, final int gs, final boolean any) {
		SecureRandom sr = new SecureRandom();
		while (true) {
			StringBuilder b = new StringBuilder();
			int mask = 0;
			while (b.length() < len) {
				int i1 = sr.nextInt(7);
				if (((1 << i1) & (gs)) != 0) {
					int i2 = sr.nextInt(groups.get(i1).size());
					b.append(groups.get(i1).get(i2));
					mask |= (1 << i1);
				}
			}
			if (!any || mask == gs) {
				return b.toString();
			}
		}
	}

	public static void main(String[] args) {
		System.out.println(getPassword(10, 0b1111111, false));
		System.out.println(getPassword(10, 0b1111111, true));
	}
}
 
So geht es natürlich auch. Wobei ich um diese Uhrzeit noch viel zu müde wäre für sowas :D Solang es funktioniert passts ja. Mal abwarten, eventuell bringt das nächste Release von KeePass dann die Erlösung ;-)
 
Habe nochmal daran herum geschraubt - vielleicht kann es ja jemand gebrauchen:
Java:
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class PWGen {
	public static final ArrayList<ArrayList<Character>> groups = new ArrayList<ArrayList<Character>>();
	static {
		ArrayList<Character> g1 = new ArrayList<Character>();
		for (int i = 'a'; i <= 'z'; i++) {
			g1.add((char) i);
		}
		ArrayList<Character> g2 = new ArrayList<Character>();
		for (int i = 'A'; i <= 'Z'; i++) {
			g2.add((char) i);
		}
		ArrayList<Character> g3 = new ArrayList<Character>();
		for (int i = '0'; i <= '9'; i++) {
			g3.add((char) i);
		}
		ArrayList<Character> g4 = new ArrayList<Character>();
		g4.add('-');
		ArrayList<Character> g5 = new ArrayList<Character>();
		g5.add('_');
		ArrayList<Character> g6 = new ArrayList<Character>();
		g6.add(' ');
		ArrayList<Character> g7 = new ArrayList<Character>();
		g7.add('!');
		g7.add('$');
		g7.add('%');
		g7.add('&');
		groups.addAll(List.of(g1, g2, g3, g4, g5, g6, g7));
	}

	public static final String getPassword(final int len, final int gs, final boolean any) {
		ArrayList<Character> list = new ArrayList<Character>();
		for (int i = 0; i < 7; i++) {
			if (((1 << i) & gs) != 0) {
				for (Character character : groups.get(i)) {
					list.add(character);
					list.add((char) i);
				}
			}
		}
		int n = list.size() / 2;
		SecureRandom sr = new SecureRandom();
		while (true) {
			StringBuilder b = new StringBuilder();
			int mask = 0;
			while (b.length() < len) {
				int i1 = sr.nextInt(n) * 2;
				b.append(list.get(i1));
				mask |= (1 << list.get(i1 + 1));
			}
			if (!any || mask == gs) {
				return b.toString();
			}
		}
	}

	public static void main(String[] args) {
		System.out.println();
		System.out.println( getPassword(Integer.parseInt(args[0]), Integer.parseInt(args[1], 2), Boolean.parseBoolean(args[2])) );
		System.out.println();
	}
}
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben