Marek Banach

Marek Banach programista, x

Temat: obiekty javy i funkcja skrótu

Witam

Mój problem polega na tym czy można stworzyć funkcje skrótu do istniejącego obiektu w javie? (Zakładam że obiekt przechowuje jakieś dane np. imie , nazwisko, pesel...) Znalazłem coś o Java Cryptography Architecture ale nie wiem czy to jest najlepszy pomysł. Proszę o opinie i pomoc. Z góry dziękuje.
Mariusz Ugoda

Mariusz Ugoda Starszy programista
Java

Temat: obiekty javy i funkcja skrótu

Pytanie o jaki skrót chodzi? To może być metoda Object.hashcode(), czy potrzebujesz raczej czegoś typu MD5?
Marek Banach

Marek Banach programista, x

Temat: obiekty javy i funkcja skrótu

Dziękuje za odpowiedź. Raczej typu MD5. Chodzi tu o to że mam obiekt. trzeba za pomocą MD5 stworzyć skrót. i potem przy ponownym logowaniu sprawdzać czy jakiś obiekt się nie zmienił dzięki MD5.

konto usunięte

Temat: obiekty javy i funkcja skrótu

No to chyba nie problem?

możesz albo nadpisać metodę _toString, albo _hashCode, albo stworzyć własną metodę np. _hash

W metodzie tworzysz skrót na który muszą skladać się wszystkie pola.

W sumie hashCode powinien wystarczyć, albo jak to jest w Javie Object.equal();

Tylko po co robić skrót?
Jeśli chcesz zaszyfrować dane polecam projekt Jasypt.
Adam Woźniak

Adam Woźniak software architect
and developer

Temat: obiekty javy i funkcja skrótu

Marek Banach:
Dziękuje za odpowiedź. Raczej typu MD5. Chodzi tu o to że mam obiekt. trzeba za pomocą MD5 stworzyć skrót. i potem przy ponownym logowaniu sprawdzać czy jakiś obiekt się nie zmienił dzięki MD5.

Twoje posty są bardzo nieprecyzyjne.
Gdzie owe obiekty są przechowywane? W pamięci (pamięci JVM)? W bazie danych? Plikach? Kartach perforowanych?

Poza tym. skoro już wspomniałeś o wykrywaniu zmian na obiekcie, to MD5 nie gwarantuje w tym modelu, że zmiany będą wykrywane poprawnie.
Np. jeśli imię było "Ala" i imię zmieni się w następującej kolejności: Ala -> Ola -> Ala, to po ostatniej zmianie na "Ala" MD5 wciąż będzie ten sam (co przed zmianami) i nie wykryjesz po MD5, że "w między czasie" coś się zmieniło.

W relacyjnych bazach danych ten problem rozwiązany jest od kilkudziesięciu lat - przez wersjonowanie oraz optimistic locking oraz pomocnicze tabele logujące zmiany (audit trail). Żadne rocket science. Ale skoro wciąż nie wiem, gdzie te obiekty trzymasz, to nie potrafię tobie precyzyjniej pomóc.

Napisz precyzyjniej o co ci chodzi jeśli chcesz równie precyzyjnych odpowiedzi.

Peace, Adam

Następna dyskusja:

Pozycja Javy na Polskim rynku




Wyślij zaproszenie do