palio.designer.authorization
Class GlobalPasswordHandler
java.lang.Object
palio.designer.authorization.GlobalPasswordHandler
public class GlobalPasswordHandler
- extends java.lang.Object
Najbezpieczeniejszą metodą przesyłania hasła, jest przesłanie hasha złożonego z hasła oraz timestampu, który jest dołączony do
wiadomości. W ten sposób nie można odtworzyć oryginalnego hasła, nie można też powtórzyć hasha by ponownie się zalogować
(timestamp będzie przedawniony). Ta metoda wymaga jednak trzymania w bazie danych hasła oryginalnego (nie zahashowanego)
ze względu na to, że do porównywania po stronie serwera generowany jest każdorazowo nowy hash (z timestampem z wiadomości).
Dlatego przyjąłem metodę podwójnego hashowania. Do wysłania hasło jest hashowane samo, następnie ponownie wraz z timestampem.
Do porównywania brane jest zahashowane hasło z bazy i hashowane wraz z timestampem. Ta metoda moim zdaniem daje bezpieczeństwo
przesyłania hasła oraz jednocześnie niemożność wyciągnięcia oryginalnego hasła z bazy danych.
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GlobalPasswordHandler
public GlobalPasswordHandler()
registerUserAndGetPassword
public java.lang.String registerUserAndGetPassword(java.lang.String login)
clearCacheForInstance
public void clearCacheForInstance(Instance instance)