[python] Sifrovani
Milan Zmatlo
milan.zmatlo na seznam.cz
Pátek Srpen 19 10:41:44 CEST 2005
Ivo Štolpa napsal(a):
> Milan Zmatlo napsal(a):
>
>> Ivo Štolpa napsal(a):
>>
>>> Milan Zmatlo napsal(a):
>>>
>>>> Zdravim,
>>>>
>>>> obracim se na zdejsi osazensvto s nasledujicim mirnym OT:
>>>>
>>>> Rad bych k zakaznikovi distribuoval obecne "prelozeny kus kodu",
>>>> ktery by obsahoval nejakym zpusobem zasifrovanou informaci o
>>>> nastaveni teto konkterni distribuce (poc. uzivatelu, casova platnost
>>>> atp.) Tento kod bych generoval pro kazdou instalaci unikatni.. to
>>>> neni problem.
>>>>
>>>> Potrebuji poradit s pouzitim vhodneho algoritmu na zasifrovani /
>>>> rozsifrovani teto informace. Nerad bych ale do aplikace ukladal
>>>> nejaky klic pro sifrovani a desifrovani, to mi nepripada vhodne.
>>>> Radsi bych mel dva klice. Mam spis predstavu, nez znalosti..
>>>>
>>>> Natuknete me prosim, kudy se vydat....
>>>>
>>> Já to dělám trochu "naruby" pomocí md5, který je v Pythonu
>>> standardním modulem. Ty informace k uživateli dopravuji zcela veřejně
>>> v textovém souboru. Při prvním spuštění aplikace se zobrazí
>>> registrační formulář, do kterého načtu hodnoty z toho textového
>>> souboru (kdyby tam nebyl, tak by to holt uživatel musel všechno
>>> vypsat ručně). Jako poslední je místo pro zadání kódu md5, který musí
>>> uživatel vyplnit dle dodané registrační karty. Graficky to může být
>>> rozsekáno do několika částí, aby se to při zadávání lépe
>>> kontrolovalo. Program pak z vyplněných údajů vypočítá kód md5 a
>>> porovná ho se zadaným kódem. Pokud se rovná, je to OK vše se zapíše
>>> někam do hloubi programu. Nemusí se to nějak moc schovávat, protože
>>> při každém startu se z uložených hodnot vypočítá kód md5 a porovná s
>>> uloženým kódem, takže by poznal, že se s údaji manipulovalo a
>>> zobrazil by znovu registrační formulář.
>>>
>>> Jak jsem říkal není to bůhvíco, ale šel jsem cestou nejmenšího
>>> odporu. Nelíbí se mi například, že při prodloužení musí uživatel
>>> zadat nové datum platnosti, nebo při rozšíření o další modul jej
>>> zafajfknout a poté zadat 32znakové hausnumero. Na druhou stranu je
>>> možné mít jeden instalák (třeba pro internet bez toho textového
>>> souboru). Uživatel pak sice musí vyplnit všechno, ale pro mne to
>>> znamená pouhé zaslání registrační údajů včetně kódu md5 e-mailem nebo
>>> poštou.
>>>
>>> Pokud někdo zná lepší řešení, sem s ním.
>>>
>>> Ivo
>>>
>>
>> V prvnim momentu mi to prislo jako super reseni, jednoduche,
>> elegantni. Nemate ale zaruceno, ze si zvidavy uzivatel tento md5
>> vygeneruje proste sam. Obzvlast, pokud se mu dostane do ruky i ten
>> textovy soubor. Myslim, ze uhodnout ze string typu
>> e23ecba40665787a55afcbbe8a2efaa6 je md5 hash neni az tak slozite.. jde
>> uz jen o to, ceho..
>>
>> Ale diky za napad..
>>
> Oops! Zapoměl jsem dodat, že do toho generování kromě těch veřejně
> známých registračních údajů vstupuje i několik údajů, které si program
> zjistí bokem. Musí to být údaje zjistitelné jak u mne, tak v běžící
> aplikaci u zákazníka. Stačí velikost nějakého modulu nebo souboru(ů).
> Nebo nějaká hexahodnota vydolovaná odkudkoliv, která je pro tuto verzi
> pevně daná. Takže zase tak jednodu to není. Navíc při generování md5
> kódu také záleží na pořadí v jakém se do md5 jednotlivé hodnoty vkládají..
>
> Ivo
>
To je pravda... rozhodne tento zpusob promyslim, jeste jednou diky...
--
Milan Zmátlo
Další informace o konferenci Python