Correlato alla domanda Which l'algoritmo di hashing è il migliore per unicità e velocità?
C'è un modo per creare una funzione hash, o trovarne una, la cui lunghezza hash dipende completamente dalla lunghezza dell'input, ha un set di caratteri hash regolabili (Dal momento che deve essere una funzione 1-a-1, l'input deve essere conforme a questo anche il vincolo del set di caratteri).
Inoltre, la parte più importante è che la funzione di hash genera come random le stringhe possibili. Quindi, ad esempio, sarebbe possibile ottenere i seguenti due risultati diversi.
Hash(aaaa)->blue // for character set a-z
e
Hash(aaaz)->pink // for character set a-z
Altri esempi:
Hash(aa@12a)->dakj@4 // for character set a-z, @, 0-9
e
Hash(a2#46Ww)->@3#0Pdw // for character set a-z A-Z, !-), 0-9
Avviso la lunghezza del carattere tra input e output e i set di caratteri.
Ciò che ho pensato finora era una funzione di distribuzione di probabilità, ci sono funzioni di distribuzione casuale ma non sono sicuro di come arrivarci.