Attualmente sto cercando di trovare un algoritmo che richiederebbe almeno due numeri (ad esempio, ID utente) e quindi ottenere un numero univoco che viene generato in base a questi due numeri. Ogni numero intero può essere grande quanto un INT (11) in un database (un numero di 11 cifre)
Esempio: L'utente A (con ID: 23 , desidera interagire con l'utente B (ID: 20 ) e un numero univoco di quelli devono essere generati due numeri, ad esempio 4094 . Questo numero potrebbe o potrebbe non essere reversibile fino al 23 e 20 (non mi interessa davvero) ma è importante solo che questi due numeri producano sempre lo stesso numero. È molto importante, indipendentemente dall'ordine (23-20 o 20-23) che il numero generato sia sempre lo stesso).
- Stavo pensando che sarebbe stato più semplice usare una qualche funzione di hashing (SHA2, poiché MD5 consente le collisioni).
- Ho anche controllato la formula suggerita di:
π(a,b)=12(a+b)(a+b+1)+b
ma non funziona quando si scambiano A e B.
- So che questo può essere fatto da una tabella di database, che memorizza il file relazione tra i due tavoli ma voglio evitarlo facendolo nel runtime.
Hai qualche buona idea per una formula matematica singola che potrebbe fare il trucco per me?