Wpis z mikrobloga

Mirki i mirabelki,
próbuję dodać do swojego programu #csharp klucz licencyjny i narodziło się pytanie, w jaki, najprostszy sposób sprawdzić jego poprawność? Sprawę hashowania, zadbania o detale zostawiam na potem, pierw chcę przesłać klucz (stringa) na serwer i z serwera odczytać z tabeli wszystkie klucze i sprawdzić czy jest poprawny, z którymkolwiek.
Chciałbym opisać to prościej ale ogranicza mnie mój brak wiedzy ( ͡º ͜ʖ͡º)
Brzmi mi w głowie SQL, dobry traf? Słowa kluczowe, protipy?(ʘʘ)
Nie miałem nigdy styczności z tym tematem, więc bez linczu proszę xD
#programowanie #informatyka
  • 16
@sobczii: zastanów się co chcesz osiągnąć, chcesz przesłać ten klucz od klienta do serwera i najlepiej jakby się dało wszystko zaszyfrować w obie strony. Niekoniecznie chcesz utrzymywać to połączenie, bo wystarczy Ci odpowiedź dla każdego sprawdzonego klucza czy jest poprawny czy nie. W tym przypadku nada się http. Ale są inne metody komunikacji w sieci
@sokytsinolop: generalnie chcę przy pierwszym uruchomieniu programu wymusić na użytkowniku wprowadzenie klucza aktywacyjnego, wysłać go na serwer wraz z nazwą użytkownika i id płyty głównej, zahashować stringa składającego się z nazwy użytkownika, id płyty głównej i dodatkowo hasła ustalonego przeze mnie, usunąć klucz aktywacyjny z bazy jako "zużyty", dodać zahashowanego stringa do bazy jako "gotowe", odesłać zahashowanego stringa, zapisać go w programie i przy każdorazowym uruchomieniu komunikować się z serwerem, wysyłając
@sobczii: no ale skoro wiesz co robić to świetnie, teraz to napisz ;)
a jaki protokół wybierzesz do przesłania tych danych to już inna bajka. Raczej nie możesz użyć SQL, bo to wymuszałoby zahardcodowanie w aplikacji danych do autoryzacji w bazie danych
@sokytsinolop: zapewne odbiję się od ściany jak przejdę do praktyki tego ale chcę spróbować ;p
właśnie o protokoły się rozchodzi, nie mam pojęcia jakie istnieją i w jaki sposób je się implementuje, a szukanie po słowach ogólnikowych to jak przysłowiowa igła w stogu siana
@sokytsinolop: jasne, zdaję sobie sprawę, że to nie jest "idealne" ale chcę zapobiec chociażby prostemu "podeślę koledze", a jak ktoś się uprze to i przerobi na swoje ale już nic nie poradzę więcej :p
@sokytsinolop: dzięki za te dwa linki, spróbuję wykonać na nich jakieś proste operacje ale widzę, że to JS. czytam o asynchronicznym programowanu C# i JS, więc to nie problem?


przez całą przygodę z klepaniem kodu użyłem zaledwie kilku funkcji z JS, więc nie wiem jak to gryźć :p
@sobczii: to będą osobne programy komunikujące się przez protokół http, poczytaj o tym żeby wiedzieć co się dzieje. Tak naprawdę nie ma znaczenia w czym napiszesz sobie ten "serwer", ale najszybciej i najprościej wg mnie zrobisz to używając frameworków które podlinkowałem.
via Wykop Mobilny (Android)
  • 0
@sobczii: zwracaj w odpowiedzi True, razem z wartością klucza i to podpisane/zaszyfrowane prywatnym certem z Twojego API np. i wymuszaj potwierdzania takiego sprawdzenia przy starcie?