Ho un problema. Devo generare a partire da un input di dimensione n un output della stessa dimensione. Potete usare qualsiasi funzione one way(che a partire da un dato input genera sempre lo stesso output)...
Il codice è molto gradito.
Ho un problema. Devo generare a partire da un input di dimensione n un output della stessa dimensione. Potete usare qualsiasi funzione one way(che a partire da un dato input genera sempre lo stesso output)...
Il codice è molto gradito.
Non ho capito qual e' il problema:
Che tipo di input hai e che tipo di output devi ottenere?
si probabilmente non mi sono espresso bene.
l'input potrebbe essere un messaggio di testo qualsiasi. Io lo devo convertire in un array di byte e la funzione dovrebbe restituirmi un output della stessa lunghezza.
byte [] ori ="Ciao".getBytes();
byte [] ris=funz(ori);
Dovrebbe essere soddisfatta la condizione ori.lenght== ris.lenght
per esempio, puoi rovesciare la stringa. Il più banale che mi sia venuto in mente.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Quello che non riesco a capire e' in che relazione debbano stare l'input e l'output: oltre a avere la stessa lunghezza, l'output deve essere il risultato di una "modifca" all'input, o deve essere una generazione casuale di bytes?
eheh no rovesciare la stringa non è one way.
Si può essere anche una generazione casuale di byte. L'importante è se do in input "Ciao" il risultato della funzione deve sempre lo stesso.
Allora potresti leggere la lunghezza dell'input, trasformato in array di bytes, e poi scorrere tutto l'array creando una stringa di cifre consecutive (12345678)
Cosi' sei sicuro che il risultato sara' sempre lo stesso.
no no non è questo quello che cerco deve essere tipo una funzione hash... solo che l funzioni hash compiono una riuzione dell'input quella che cerco io no...
insomma ti serve una funzione di hashing che però produca un output di lunghezza identica alla lunghezza dell'input
EDIT: abbiamo scritto insieme. Bhè, prendi un MD5, se il tuo input è più corto di 32 chars, prendi il substring dell hash fino alla lunghezza desiderata. Se è più lunga, ripeti tante volte quanto serve l'hash.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
esatto