Soy un desarrollador web que está comenzando a sumergirse en la criptografía, así que por favor, cuéntame sobre esto ...
Digamos que tengo una colección de hashes que se generaron a partir de algunos datos comunes, es decir, cambios en múltiples registros. ¿Hay alguna manera de generar un hash secundario a partir del hash principal y compararlo con los otros hash según cómo se generó el hash principal? Por ejemplo ...
plain text | hash | hint hash
----------------------------------------------
"USER:123:fName:Alice" | 92eb5ff.. | 3cd24
"USER:123:fName:alice!"| 1c77753.. | 3cd24
"USER:456:fName:Bob" | fee6ae2.. | 7d28e
"USER:456:fName:bob!" | 7775315.. | 7d28e
"USER:789:fName:Carl" | fec3ad7.. | 75315
Observe que todos los hashes son únicos, pero los hashes de sugerencia coinciden con los ID de registro de los que están hasheados. Entonces, si generé estos hashes basados en el texto plano y alguna clave, es decir, genHash (plainText, keyText). Si solo tuvieras los hashes, podrías asociar los hashes que están relacionados entre sí solo por sus hashes de sugerencia. Entonces, si solo tuviera los hashes, todavía podría encontrar sus asociaciones con un par de llamadas getHintHash (hash) ...
Tabla de hashes:
hash
---------
92eb5ff..
1c77753..
fee6ae2..
7775315..
fec3ad7..
Tabla de hashes con hashes de sugerencia:
hash | hint hash
----------------------
92eb5ff.. | 3cd24
1c77753.. | 3cd24
fee6ae2.. | 7d28e
7775315.. | 7d28e
fec3ad7.. | 75315
Ahora tengo las relaciones entre los hashes únicos sin exponer el texto sin formato que los generó. es posible? Recuerde, la función de hash obtuvo el texto en claro y una clave para que el "hash de sugerencia" se pueda basar en ...
genHash("USER:123:fName:Alice", "USER:123") -> 92eb5ff..