Sto lavorando a un progetto in cui lo sviluppatore iniziale ha deciso che sarebbe stata una buona idea mascherare le chiavi API con md5 e con l'attuale minuto e concedere ai client un tre- minuto per inviare quel valore.
Quindi il client:
headers.authKey = md5(ACTUAL_API_KEY + current_minute())
E il server fa:
// allow for one-minute-late and one-minute-early hashes
for (i in [-1, 0, 1]) :
if headers.authKey == md5(ACTUAL_API_KEY + (current_minute()+i))
valid = true
Questo mi sembra un teatro di sicurezza. Immagino di poter intrattenere l'idea che camuffare il valore "over the wire" potrebbe essere una buona idea, ma non sono sicuro se ci sia un reale vantaggio pratico a questo, e sembra che potrebbe rendere le cose più complicate di devono essere. Anche ... md5.