[C# / Xamarin] Szyfrowanie danych z Json'a

0

Witajcie.
Tworzę właśnie aplikację na Xamarina, która będzie pobierała z sieci plik .html z kodem json'a. Kod ten będzie zawierał dane do API zewnętrznych witryn oraz hasła tak więc nie mogę go w "zwykłej" postaci wrzucić na serwer.

Chciałbym zastosować coś takiego:
Aplikacja 1. Zwykła aplikacja konsolowa C#, która będzie szyfrowała string z json'em.
Aplikacja 2. Odbiera plik html z serwera z zaszyfrowanym json'em, odszyfrowuje go a następnie deserializuje na obiekty.

Ogólnie jestem początkującym amatorem programowania i nie miałem wcześniej styczności z szyfrowaniem. Na razie zastosowałem się to kodu z tego Linku. Jednak użyty algorytm wymaga jednego i tego samego klucza.
Macie jakieś rady jak sobie z tym poradzić, ewentualnie co mogę innego zastosować by osiągnąć cel ?

0

Dla każdej instancji aplikacji mobilnej generuj klucze prywatne/publiczne. Apka mobilna wysyła do serwera klucz publiczny. Twoja konsolówka szyfruje kluczem publicznym wiadomość i odsyła do apki mobilnej. Apka mobilna, używając klucza prywatnego, deszyfruje wiadomość.

Generowanie kluczy publicznych/prywatnych musi odbywać się po stronie instancji aplikacji.

W aplikacji konsolowej musisz trzymać listę kluczy publicznych każdej z instancji aplikacji mobilnej oraz jakieś jej ID. Jest to potrzebne abyś wiedział którego klucza publicznego użyć dla danej aplikacji. Inne rozwiązanie: serwer nie trzyma listy tych kluczy tylko listę wszystkich instancji które do tej pory się zgłosiły, po zaszyfrowaniu wiadomości, aplikacja konsolowa odpytuje każdą instancję aplikacji mobilnej po jej klucz publiczny, szyfruje i wysyła.

0

Dzięki ne0 za odpowiedź. Jednak moje potrzeby nie są tak wygórowane :)
Chodziło mi aby funkcjonowało to tak:
Apka konsolowa, pobiera plik .html z PC, następnie szyfruje go, ręcznie wstawiam go na serwer (aby pobrać z adresu www). Następnie apka mobilna pobiera ten plik, deszyfruje i konfiguruje się według niego.

Udało mi się to osiągnąć tworząc szyfrowanie na PC z góry przypisanym kluczem i wektorem, tych samych danych użyłem do odszyfrowania danych w aplikacji mobilnej.

Zabezpieczenie raczej słabe, ale jeśli laik zobaczy losowy ciąg znaków na stronie .html to od razu ją zamknie :)

Więc ogólnie temat do zamknięcia (chyba że ktoś mi zaproponuje lepsze i łatwe rozwiązanie inne niż moje).

0

Jeżeli koniecznie chcesz użyć pojedynczego klucza, możesz wykorzystać np. taką wersję AES - to jest .NET Standard 1.3, więc zadziała zarówno w aplikacjach konsolowych, jak i w Xamarinie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1