Funktionsweise
Auf Basis einer geordneten Liste von Strings (hier die Rechte eines Systems) wird mit Hilfe von Checkboxen daraus eine Teilmenge ausgewählt.
Jedem Elemente i = (1,2,..n) aus der Gesamteliste werden durch genau eine Zweierpotenz (2 hoch i) repräsentiert. Aus der Summe der ausgewählten Zweierpotenzen ergibt sich eine bijektive der Summe und der ausgewählten Teilmenge.
Da sich aufgrund der Zweierpotenzen schnell sehr große nicht Zahlen ergeben werden diese mit Hilfe einer Transformation in ein anderes Zahlensystem konvertiert. In der vorliegenden Implementierung
Diese wird Signatur genannt.
csvFullList = Gesamtmenge (Komma separiert)
csvSubsetList = Teilmenge (Komma separiert): (0 Elemente)
aSignDef (65 Zeichen): 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ{;}abcdefghijklmnopqrstuvwxyz
aSignDef = getSignatureDefHash();
size (aSignDef) = 65
$signature = calcCsvListSignature($csvFullList, $liste, $aSignDef);