Toon posts:

[PHP] Encrypt en Decrypt class..

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand een zeer veilige Encrypte en Decryptie class, die aan de hand van sleutels werkt.. ?? Ik heb het nodig voor een login systeem dat zeer veilig moet zijn, en niet via die mysql PASSWORD() ding mag/kan. Ik wil dus een goeie de/en -crypt tool!! iemand enig idee. ?

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 13:47
Note: There is no decrypt function, since crypt() uses a one-way algorithm.
Dat zoekt hij dus niet. Ok, voor password verificatie is het goed genoeg (zou je ook MD5 voor kunnen gebruiken), maar je kan dan niet zelf de passwords achterhalen (waarom je dat ook wilt doen :?).

  • Grum
  • Registratie: Juni 2001
  • Niet online
hij had anders PASSWORD() uit mysql gebruikt .. en dat is meen ik best wel identiek :+

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 13:47
Op woensdag 06 maart 2002 17:56 schreef Grum het volgende:
hij had anders PASSWORD() uit mysql gebruikt .. en dat is meen ik best wel identiek :+
Idd, maar ik moest toch ff zeiken over 2-way crypt waar hij om vroeg ;)
Maar te zien aan het ontbreken van reacties van Stoel ga ik ervan uit dat jouw oplossing goed is :P

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ik zou niet weten waarom je een decryptbare code zou willen? Kijk naar md5() ed . Das redelijk veilig

Doet iets met Cloud (MS/IBM)


Verwijderd

Op woensdag 06 maart 2002 18:16 schreef D2k het volgende:
ik zou niet weten waarom je een decryptbare code zou willen? Kijk naar md5() ed . Das redelijk veilig
D2k, hier een voorbeeld:
Bij mij op het werk hebben we een database met gegevens, alle gegevens zijn geencrypted. Het zit bijv zo, een klant connect naar onze mysqlserver met een bepaald username en password, hij doet een select op een host database. Hierin ziet 'ie van: 'ow, ik moet naar 212.203.28.140 connecten met deze username en password, die en die database', hierdoor maak je het mogelijk om data naar een server te verplaatsen als je geen gebruik kunt maken van DNS, zoals bij ons het geval is.
Die data staat encrypted in de database, zodat, mocht iemand interesse hebben in onze data, en het voor elkaar krijgt om die usernames ed te pakken te krijgen, heeft 'ie er niets aan want alles is geencrypt.

De applicaties daarentegen, die net dus connecte, heeft een decrypt() functie, en kan dus ook de boel decrypten.
Daarom zou hij het bijv. dus willen gebruiken.

Verwijderd

Topicstarter
ik wil namelijk een login servertje hebben waar ik 2 sites aan kan aansluiten, de scripts sturen steeds headers naar elkaar en die data moet geencrypted zijn en weer te decrypten zijn..

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 06 maart 2002 18:35 schreef MrIpFiReWALL een verhaal
ok dan wel :)

Doet iets met Cloud (MS/IBM)


  • Grum
  • Registratie: Juni 2001
  • Niet online
zou je deze even kunnen toelichten:
... als je geen gebruik kunt maken van DNS, zoals bij ons het geval is.
ik meen dat iedereen dat kan :?

Verwijderd

ik meen dat iedereen dat kan :?
Bij ons is dat niet zo, bepaalde klanten zitten in een (vrijwel) gesloten netwerk. Die hebben alleen access tot een proxy server. Ons client-programma kijkt niet naar die proxy, maar poort 53 zit dus dicht, poort 8080 staat open, en via die poort werken wij.
Je zou wel die access naar poort 53 kunnen creeeren, maar dan heb je bij bijna elke klant-van-een-klant wéér het gezeik over poort 53 die niet open staat.
Daar voorkomt deze manier veel pijn, moeite en gezeik. Gesnapt? ;)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Bedenk zelf een leuk algoritme :)

XOR is 1 van de eenvoudigste.
Je doet een bitwise XOR op alle de characters die je verstuurd met een sleutel, en dat doe je vervolgens aan de andere kant precies hetzelfde.

Als beide kanten dan dezelfde sleutel hebben is het ok.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Deze heb ik ooit een keer bedacht
PHP:
1
<?function encryptme($string, $key){// Key stuff$lengte=strlen($key);$shift=$lengte % 17;$separator=($lengte * 300) % 240;if ($shift===0) $shift=1;if ($shift%3==0) $shift++;$key=md5($key);$md5=strlen($key);// Vertaal naar ASCIIfor($i=0;$i<strlen($string);$i++)     $toencrypt.=sprintf("%03d",ord($string[$i]));$toencrypt=substr($toencrypt,$shift).substr ($toencrypt,0,$shift);// SHIFT while($trans=substr($toencrypt,0,3)){$t++;if ($trans>255){   // ASCII Code groter dan 255, INSERT Scheidings teken    $encrypted.=chr($separator) ^ $key[$t % $md5] ;    $separator++;        $trans=($t%9).$trans;    $encrypted.=chr(substr($trans,0,2)) ^ $key[$t % $md5];    $trans=substr($trans,2);}elseif ($trans==$separator){   // SCHEIDINGS teken....    $encrypted.=chr($separator) ^ $key[$t % $md5];    $separator++;    $trans=($t%9).$trans;    $encrypted.=chr(substr($trans,0,2)) ^ $key[$t % $md5];    $trans=substr($trans,2);} // End ifif ($separator>250)   // RESET Separator       $separator=($lengte * 300) % 240;    $encrypted.=chr($trans) ^ $key[$t % $md5];    $toencrypt=substr($toencrypt,3);} // End Whilereturn $encrypted;} // Encryptfunction decryptme($encrypted,$key){// Key stuff$lengte=strlen($key);$shift=$lengte % 17;$separator=($lengte * 300) % 240;if ($shift===0) $shift=1;if ($shift%3==0) $shift++;$key=md5($key);$md5=strlen($key);for($i=0;$i<strlen($encrypted);$i++){    $p++;    $check=$encrypted[$i] ^ $key[$p % $md5];    $char=sprintf("%03d",ord($check));    if ($char==$separator)    {         $separator++;        $i++;        $check=$encrypted[$i] ^ $key[$p % $md5];        $char =sprintf("%02d",ord($check));        $i++;        $check=$encrypted[$i] ^ $key[$p % $md5];        $char.=sprintf("%02d",ord($check));        $char =substr($char,1,3);    }        $todecrypt.=$char;    if ($separator>250)            $separator=($lengte * 300) % 240;} // End for$todecrypt=substr($todecrypt,($shift *-1)).substr($todecrypt,0,(($shift) * -1));while($trans=substr($todecrypt,0,3)){    $decrypted.=chr($trans);    $todecrypt=substr($todecrypt,3);} // end Whilereturn $decrypted;} // Decrypt ?>

Gebaseerd op XOR en SHIFT

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Bij mysql kan je toch ook een varchar PASSWORD zetten.. is dit md5?? zojah, dan is dat makkelijk.. want ik weet het niet precies..

  • Grum
  • Registratie: Juni 2001
  • Niet online
een 'varchar' password ? >:)

Verwijderd

Topicstarter
Op woensdag 06 maart 2002 19:50 schreef Grum het volgende:
een 'varchar' password ? >:)
Jah

insert into tabel (login,password) ('test',PASSWORD('passwordje'))

DAt bedoel ik, maakt hij er dan een md5 encryptie van ??

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

mcrypt libraries gebruiken?

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 13:47
Op woensdag 06 maart 2002 20:13 schreef ACM het volgende:
mcrypt libraries gebruiken?
Dacht ook al aan, maar hij heeft het steeds over MD5 en PASSWORD :?
Stoel, wat wil je nu precies? Encoden met MySQL of en-/decoden met PHP??

  • Grum
  • Registratie: Juni 2001
  • Niet online
Op woensdag 06 maart 2002 20:10 schreef Stoel het volgende:
Jah

insert into tabel (login,password) ('test',PASSWORD('passwordje'))

DAt bedoel ik, maakt hij er dan een md5 encryptie van ??
Nee maar *wonderbaarlijk* met de MD5(..) functie wel >:) :+

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 20:23

BCC

Het aller simpleste is natuurlijk om een encryptie matrix te gebruiken.. wel even wat Algebra, maar dan heb je ook een degelijke protectie.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Stoel:
DAt bedoel ik, maakt hij er dan een md5 encryptie van ??
doe eens:
code:
1
SELECT STRCMP(MD5('test'),PASSWORD('test'))

;) nee dus

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 06 maart 2002 20:20 schreef BCC het volgende:
Het aller simpleste is natuurlijk om een encryptie matrix te gebruiken.. wel even wat Algebra, maar dan heb je ook een degelijke protectie.
Nee het is simpeler om de mcrypt libraries te gebruiken ;)

Das een serie functie aanroepen, meer niet.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Frappant genoeg kwam ik in de MySQL documentation de volgende tegen:

ENCODE en DECODE.
Doe maar eens:
code:
1
2
3
4
select 
   ENCODE('test','pass') as encoded,
   'test' as plain, 
   DECODE(ENCODE('test','pass'),'pass') as decoded

Dat is er dus alvast eentje die je via MySQL kunt gebruiken

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Op woensdag 06 maart 2002 20:13 schreef ACM het volgende:
mcrypt libraries gebruiken?
waar vind ik daar info over??

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 07 maart 2002 08:12 schreef Stoel het volgende:
waar vind ik daar info over??
De php-manual (goh) http://www.php.net/manual/en/ref.mcrypt.php
Lijkt me een aardig begin :?

Verwijderd

Topicstarter
ik dacht maybe is het een class ofzow..
Pagina: 1