» Poradna » Web a internet

Šifrovaná komunikace PHP a JS

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 11/11
 | Microsoft Windows 8 Chrome 26.0.1410.64

Zdravím zdejší programátory a samouky jako jsem já. Potřebuji od Vás poradit jak sestavit funkční kód v Javascriptu, který by dokázal zašifrovat řetězec pomocí známého klíče. Hash by se poté odeslal na server a tam by se dešifroval pomocí PHP. Potřebuji na každé straně šifrovací i dešifrovací funkci. Dlouho jsem hledal, ale čím víc hledám tím víc se v tom ztrácím. Například zde: http://stackoverflow.com/questions/11797238/aes-en... se taky jeden člověk snažil přijít této problematice na kloub. S mou chabou znalostí ANJ se domnívám, že se mu podařilo vyřešit problém díky článkům na které odkazuje. Já ovšem nechápu. Potřeboval bych od Vás napsat jednoduchý, ale funkční kód v JS i PHP(komunikaci mezi nimi samozřejmě nemusíte) nebo mě alespoň naveďte jak se s tím vypořádat.

Odpovědi na otázku

 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

Hash dešifrovat nejde.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Chrome 26.0.1410.64

Dobrá neměl jsem použít slovo hash, ale jak myslíte, že se šifrují soubory. Použije se heslo, kterou zná pouze uživatel a pomocí jej se soubor zašifruje do nečitelné podoby a pak se opět rozšifruje pomocí toho klíče.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Chrome 26.0.1410.64
 |   |  Microsoft Windows 7 Firefox 20.0

Toto je řešeno použítím https protokolu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 8.0

Ak to budes robit v JS, tak to budes mat minimalne 100x pomalsie ako klasicka implementacia pomocou https. Ak to potrebujes pre ine protokoly zrejme je vyhodnejsie pouzit ssh tunel. Vsetky tie sifrovacky a desifrovacky mas uz hotove, len sa staci ich naucit pouzivat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Opera 9.80

Nejsnadnější varianta je použít HTTPS spojení. Data se automaticky zašifrují a na druhé straně dešifrují a nemusíš se o nic starat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Chrome 26.0.1410.64

Všem díky za snahu poradit. Vím, že se šifrovaná komunikace provádí pomocí SSL. Právě tuto technologii jsem nechtěl používat. Po dlouhém hledání jsem našel stránky díky, kterým jsem konečně zhotovil funkční program na šifrování komunikace s PHP a JS.Zde jsou ty stránky: http://kevinkuchta.com/_site/2011/08/matching-ph... Bohužel odkaz na stažení kompletního packu ve spod stránky nefunguje a tak přikládám soubory, které jsem díky intuici a Googlu našel:https://slowaes.googlecode.com/svn-history/r35/trunk/php... https://raw.github.com/devrandom/slowaes/master/... http://slowaes.googlecode.com/svn/trunk/js/aes.jshttps://slowaes.googlecode.com/svn-history/r33/trunk/js/... http://code.jquery.com/jquery-1.9.1.min.jsNa Kuchtově stránce v prvním souboru encrypt.php na první a druhé řádce nalinkovat soubory podle vlastní adresářové struktury.V druhém souboru encrypt.js.html přidat kód:<!doctype html><html lang="en"><head><meta charset="UTF-8" /><script type="text/javascript" src="cryptoHelpers.js"></script><script type="text/javascript" src="aes.js"></script><script type="text/javascript" src="jquery-1.9.1.min.js"></script></head><body><script>/******naprosto stejný kód ze stránek Kuchty v druhém souboru******/</script><div id="output"></div></body></html>A je hotovo. Ačkoli se šifry liší, vězte, že když si ji například z PHP výstupu nakopírujete přímo do JS souboru a necháte ji dešifrovat dostanete opravdu původní text.Doufám, že tento příspěvek pomůže mnohým lidem, kteří řeší a doposud nevyřešily tento zapeklitý problém, neboť vyznat se v tom madlajzu na internetu, v polovičatých radách, nefunkčních odkazech na hotové skripty,.. je opravdu o nervy

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 17.0

Delat si sifrovani "na kolene" je v 99% pripadu spatny napad. Vypada to, ze tomu rozumis pomerne malo, tak jedna rada od srdce - nepoustej se do toho.Existuje nejaky duvod, proc odmitas HTTPS (SSL), ktere je docela dobre navrzene a za ta leta slusne zvladnute?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 9.0  |  [82.142.82.---]

Já bych se také ptal, k čemu má ta šifrovaná komunikace pomoct/zabránitPokud je to v js, tak ten si může stáhnout kdokoliv a když už může komunikaci odposlouchávat, tak si jí odposlechne se vším všudy a může jí dešifrovat za pomoci toho js úplně stejně, jako to dělá ten klient/server, neboť k tomu má vše potřebné v tom staženém javascriptu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64  |  [195.113.207.---]

Nebojte, mám to vymyšlené tak, aby se "nikdo" ke klíči krom serveru a klienta nedostal. V Javascriptu o klíči ani zmínka a přesto to bude fungovat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 17.0

V tom pripade doporucuju s tim jit na trh, spousta firem vam za takoveto reseni zaplati nemale penize.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Šifrovaná komunikace



Určitě si přečtěte


Jak fungují kryptoměny: Za oponou se odehrává perfektně organizovaný chaos

Jak fungují kryptoměny: Za oponou se odehrává perfektně organizovaný chaos

** Bitcoin letos trhal rekordy ** Zdaleka není sám, jsou tu i další kryptoměny ** Jak vlastně kyberpeníze v nitru fungují?

13.  12.  2017 | Jakub Čížek | 67


Aktuální číslo časopisu Computer

26 procesorů v důkladném testu

Zhodnotili jsme 18 bezdrátových reproduktorů

Jak fungují cash back služby?

Pohlídejte své děti na internetu