Zdravo,
Recimo da je številka kreditne kartice "1111-1111-1111-1111", in če šifriram dobim: "X5AKRIJAnbE8o750xq0z6l5LQjHqHbz / ". Ok sedaj sem uspešno šifriral in to zapišem v bazo.
Zdaj pa moram nazaj poklicati pravilno številko kreditne kartice: 1111-1111-1111-1111.
Seveda to lahko vidi uporabnik, ko se prijavi.
V bazo se ne shrani prava vrednost, ampak šifrirana. Uporabniku prikažem dešifrirano številko kartice.
V čem je sploh problem?
Namesto, da imam v bazi shranjeno: 1111-1111-1111-1111, imam tole: X5AKRIJAnbE8o750xq0z6l5LQjHqHbz / .
Če ta številka pride v roke nepridipravemu, jo lahko dešifrira tako kot sem jo jaz.
Torej zanima me bistvo šifriranja in dešifriranja? Kaj sem s tem pridobil, ko sem uporabil to možnost, saj je vseeno ali je v bazi shranjena prava vrednost, ali šifrirana. Če nekdo udere v bazo in dobi ta podatek, ga bo lahko enostavno razvozlal.
Obstaja kakšna možnost, da se dešifrirat te številke ne da?
Hvala za odgovor.
Sifriranje/Dešifriranje v C#
-
- Prispevkov: 664
- Pridružen: 01.06.2004 14:50:41
Sifriranje/Dešifriranje v C#
Vsak podatek, ki ga šifriraš, se da tudi dešifrirati. Vse kaj moreš ti oz. nepridiprav vedet je postopek po katerem se je ta podatek šifriral, ter ga obrnit.
Cilj šifriranja je oteževanje vpogleda v določene podatke. Ravno zaradi tega se nenehno razvijajo novi vse bolj in bolj zapleteni algoritmi za šifriranje podatkov. Cilj teh algoritmov ni da podatke naredijo takšne, da jih ni mogoče dešifrirati, temveč da so tako zapleteni, da bi za odkritje tega aplgoritma nek nepridiprav potreboval toliko časa, da ga že prej vse mine.
Cilj šifriranja je oteževanje vpogleda v določene podatke. Ravno zaradi tega se nenehno razvijajo novi vse bolj in bolj zapleteni algoritmi za šifriranje podatkov. Cilj teh algoritmov ni da podatke naredijo takšne, da jih ni mogoče dešifrirati, temveč da so tako zapleteni, da bi za odkritje tega aplgoritma nek nepridiprav potreboval toliko časa, da ga že prej vse mine.
Sifriranje/Dešifriranje v C#
se opravičujem za kričanje.
TI STRANKI NIKOLI VEČ NE POKAŽEŠ CELOTNE ŠTEVILKE KREDITNE KARTICE. Ob naslednjih plačilih rečeš Visa s zadnjimi številkami 1111
TI STRANKI NIKOLI VEČ NE POKAŽEŠ CELOTNE ŠTEVILKE KREDITNE KARTICE. Ob naslednjih plačilih rečeš Visa s zadnjimi številkami 1111
Uredite zbirko filmov, tv serij in iger - http://xcollect.sf.net
Zamenjate leglo virusov s preprostim in naprednim odjemalcem elektronske pošte. - http://www.simail.si
Zamenjate leglo virusov s preprostim in naprednim odjemalcem elektronske pošte. - http://www.simail.si
Sifriranje/Dešifriranje v C#
Se strinjam takole narediš: SELECT RIGHT('1234567891012345',4)se opravičujem za kričanje.
TI STRANKI NIKOLI VEČ NE POKAŽEŠ CELOTNE ŠTEVILKE KREDITNE KARTICE. Ob naslednjih plačilih rečeš Visa s zadnjimi številkami 1111
Sifriranje/Dešifriranje v C#
Njaboljša logika je public private key.
1.Na clienta pošlješ public key. Kar uporabnik vtipka se zakodira s tem key-em.
2.kar dobiš nazaj na server dekodiraš s private key-em ki ga nisi dal nikamor in ga imaš samo ti.
Shranjevanje tega v bazo je čisto druga zgodba, logiko kodiranja imaš v app (lahko tudi public - private key), in če ti to kdo ukrade, pol tko ne moreš nič.
preberi si tole: link
A se to da razbit, ne vem, po moje pa dost težje kot sicer.
1.Na clienta pošlješ public key. Kar uporabnik vtipka se zakodira s tem key-em.
2.kar dobiš nazaj na server dekodiraš s private key-em ki ga nisi dal nikamor in ga imaš samo ti.
Shranjevanje tega v bazo je čisto druga zgodba, logiko kodiranja imaš v app (lahko tudi public - private key), in če ti to kdo ukrade, pol tko ne moreš nič.
preberi si tole: link
A se to da razbit, ne vem, po moje pa dost težje kot sicer.
Order is heavens first rule. Therefore some must be better than the rest.
Sifriranje/Dešifriranje v C#
Zakaj pa bi tako občutljiv podatek sploh shranjeval v bazo? Vsaj za čas daljši od izvedbe plačila...