Kezdőoldal » Számítástechnika » Weblapkészítés » Van olyan titkosítás / kódolás...

Van olyan titkosítás / kódolás (olyasmire gondolok, mint az md5 vagy az sha1), amihez van visszafejtő függvény is?

Figyelt kérdés

Egy rendszert készítek (php, mysql alapokon), amibe privát adatok is szerepelnek (pl. személyigazolvány szám), és azt szeretném valahogy elérni, hogy az adatbázisba titkosítva kerüljenek be az adatok, de a megfelelő programmal (azzal amit én írok) rendesen olvasható legyen.

Van erre valahogy mód?



2014. okt. 23. 21:01
1 2
 1/11 anonim ***** válasza:
73%

értelmetlen

hiába tárolod titkosítva, ha ott a vissza fejtő script is.

ha feltörik az oldalt, és megszerzik az adatokat, még a vissza fejtő script hiányába is, megfejthető...

Szóval...


Használj ROT13 -at ha nem akarod sima szövegként tárolni.

2014. okt. 23. 21:23
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

értem

lehet, hogy ez most hülye kérdés, de úgy meg lehet csinálni, hogy a visszafejtő script nincs ott?

2014. okt. 23. 21:38
 3/11 anonim ***** válasza:
100%

Az MD5 és a SHA1 nem titkosító eljárás, hanem hasítófüggvények, egy hashből nem lehet visszaállítani a bemeneti adatot.


Titkosításra az egyik legszerűbb módszer talán a XOR alapú biteltolásos módszer.

Népszerűbb és elterjedt titkosítások az AES, Blowfish, DES.

A MySQL-nek vannak AES és DES függvényei is: [link]

2014. okt. 23. 21:38
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:

még base64 -et is használhatsz.

[link]

[link]


Esetleg gzdeflate és gzinflate -t.

[link]

[link]


Vagy ezek kombinációját.

$TEXT = 'Szövegem...';

$encode = gzdeflate(str_rot13(base64_encode($TEXT)), 9);

echo '<div>"Elkódolva": '.$encode.'</div>';

$decode = base64_decode(str_rot13(gzinflate($compressed)));

echo '<div>Vissza alakítve: '.$decode.'</div>';

2014. okt. 23. 21:38
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

közbe találtam egy függvényt, amivel lehet titkosítani és dekódolnia (mcrypt_encrypt, mcrypt_decrypt)

ezzel nincs értelme kísérletezni?

2014. okt. 23. 21:39
 6/11 anonim ***** válasza:

"lehet, hogy ez most hülye kérdés, de úgy meg lehet csinálni, hogy a visszafejtő script nincs ott?"

Ha nincs ott, a vissza alakításhoz a függvény, akkor hogyan akarod esetleg kiolvasni, vagy csak tárolod és kész!?

mert ha nem akarod vissza nyerni akkor értelmetlen tárolni,

ha vissza kell hozni, akkor pedig kell az encode script is.

lehet más titkosító eljárásokkal dolgozni ami jelszót igényel, de ugye ebbe az esetben a tároláshoz a forrásba rögzítened kell a jelszót, amivel már megint ugyan ott vagy.

Azaz ott a jelszó, amivel utána vissza lehet fejteni...


Írd meg úgy, hogy ne kelljen lekódolni az adatokat, hogy ne legyen esélye feltörni.

2014. okt. 23. 21:42
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

eredetileg ez egy egyszerű, itthoni rendszernek készült volna, amibe édesanyám határozatokat tárolt volna (mert most papír alapon van minden, és nehéz keresni benne, meg nyilván nem jelez, hogy ha egy határozatérvényét veszti), de végül úgy alakult, hogy beviszi majd a munkahelyére

ott viszont már mások is vannak (olyanok is, akik illetéktelenek ebből a szempontból), ezért szeretném kódolni (és persze a használathoz így már bejelentkezés is kell)

2014. okt. 23. 21:46
 8/11 A kérdező kommentje:
Köszönöm szépen a segítséget, a base64_encode() és base64_decode() tökéletes lesz.
2014. okt. 23. 22:05
 9/11 anonim ***** válasza:

1, az adatbázishoz magához csak olyanok férhessenek akiknek szabad.

2, azzal az első válaszban nem értek egyet, hogy "nincs értelme". Van, mivel maga a titkosító kulcs ha külön van (azaz nem a db-ből olvasható ki), akkor ha az adatbázishoz hozzá is férnek, a kulcshoz nem biztos.


Egy szerver feltörésének is sok fajtája és lépése van. Egy megfelelően beállított SQL szerver esetén, ha pl SQLi-vel hozzáférsz is a teljes db-hez nem fogsz érni semmit.

2014. okt. 24. 19:05
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

Na a base64 ilyen szempontból viszont már értelmetlen.

Inkább egy AES-es megoldást csinálj, esetleg külön egy felhasználótól mindig bekért kulcs hasheével titkosíts, akkor csak az adott user, aki tudja a kódot fog hozzáférni az adatokhoz.

Ez már egy elég megbízható módszert!


Mire gondolok kicsit pontosabban:

Fogsz, a mentés előtt bekérsz egy kulcsot az usertől. Tekintve, hogy ezek a jelszavak ált. "rövidek" generálj belőle egy sha1 vagy hasonló hash-t, majd EZZEL, mint kulcs alkalmazz egy AES vagy hasonló erős titkosítást az adatokon.

Megnyitáshoz hasonlóan kérd be a jelszót és bontsd ki vele az adatokat.


Így a db-ben külön titkosítva lesznek és a hozzáféréshez nem kell a kulcsot tárolni.

2014. okt. 24. 19:09
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!