Muszę poprzedzić to pytanie stwierdzeniem, że jestem świadomy, że trudne kodowanie hasła w aplikacji klienckiej jest złą praktyką, z wielu powodów. Są inne pytania dotyczące tego problemu. Zakres tego pytania jest węższy i zakłada, że uwierzytelnianie poświadczeń MUSI znajdować się w kodzie aplikacji klienckiej z pewnych powodów, na które nie masz wpływu.Jaki jest najbezpieczniejszy sposób osadzenia hasła w kodzie Java?
Jeśli niektóre sposoby są lepsze niż inne (na przykład: JPasswordField przechowuje hasło w tablicy znaków zamiast łańcucha) i jeśli musiałeś go zakodować w aplikacji Java, jakie środki mógłbyś podjąć, aby było trudniej być pobranym?
Aktualizacja:
Jedna instancja aplikacji działa na zdalnym komputerze, gdy użytkownik ma uprawnienia administratora. Poświadczenia są używane do uzyskania dostępu do bazy danych w tej samej sieci, więc faktyczne hasło jest już z góry określone i musi zostać wprowadzone ręcznie w rzeczywistym kodzie.
Czy zastanawiałeś się nad hashowaniem hasła? Może to zadziała w twoim przypadku użycia? – Robin
Czy możesz podać szczegóły dotyczące działania aplikacji klienckiej? Ile wystąpień tego działa? Kto kontroluje cykl życia? Do czego służy hasło? –
Czy musisz wysłać hasło gdzie indziej, więc rzeczywiście potrzebujesz prawdziwego hasła? A może otrzymasz hasło skądś (takie jak użytkownik) i po prostu musisz sprawdzić, czy jest ono poprawne (i może użyć hasha)? – hyde