Sto sviluppando una webapp che non rivela il conteggio dei record, perché nasconde la chiave primaria. Sto cercando un modo migliore per farlo.
La mia idea preferita è crittografare l'ID stesso con un codice a blocchi, perché ciò non richiederebbe ulteriori tabelle di tracciamento e, se la dimensione del blocco è uguale alla dimensione della chiave, dovrebbe funzionare bene.
Tuttavia, non voglio una dimensione di blocco di 128 bit, perché ci vorrebbe un po 'per digitare example.com/records/MTZjaHJzRm9yMTI4Yml0cw
(rappresentazione Base 64)
La dimensione del blocco ideale sarebbe completamente regolabile. Voglio essere in grado di fare un input ID a 8 cifre che si traduce in un output a 8 cifre, cioè senza collisioni utilizzando una chiave casuale memorizzata in modo permanente. L'input sarebbe la vera chiave primaria e l'output sarebbe l'identificatore mostrato al pubblico. Potrei decidere di cambiare la lunghezza della cifra o passare agli identificatori di Base64 e vorrei che l'algoritmo fosse abbastanza flessibile da contenere questo?
Puoi raccomandare una routine di crittografia per dati e output così brevi? Non mi importa se la chiave è breve o no, solo i dati e l'output devono essere.