G-I Crypt

Door St.Chessere , 18 jaar geleden, 2.757x bekeken

Deze class encrypt data door middel van een password het werkt op een binaire niveau.

Hier beneden geef ik een voorbeeld hoe de raw versie werkt.

*******************************************************************************************************
* The first part gathering information. *
* *
* Message = Hello Password=Test *
* *
* Message binary = (H) 0100 1000 | (e) 0110 0101 | (l) 0110 1100 | (l) 0110 1100 | (o) 0110 1111 *
* *
* Password binary = (T) 0101 0100 | (e) 0110 0101 | (s) 0111 0011 | (t) 0111 0100 | *
* *
*-----------------------------------------------------------------------------------------------------*
* Here we are going to encrypt. *
* *
* In this part we are going to mix the password with the original data. *
* *
* (H) 0100 1000 | (e) 0110 0101 | (l) 0110 1100 | (l) 0110 1100 | (o) 0110 1111 (original data) *
* (T) 0101 0100 | (e) 0110 0101 | (s) 0111 0011 | (t) 0111 0100 | (T) 0101 0100 (Encryption by pass)*
* ----------------------------------------------------------------------------- *
* (?) 0001 1100 | (?) 0000 0000 | (?) 0001 1111 | (?) 0001 1000 | (?) 0011 1011 (Output) *
* *
*******************************************************************************************************

Deze class is nog echter raw, de bedoeling is dat je deze class zelf aanpast zodat je een unieke encryptie krijgt.
Je kan natuurlijk alles naar je eigen smaak invullen, je kan heel simpel strev() gebruiken of zelfs een wiskundige methode
eromheen bouwen van hoe hij de password toepast(daarbij zou je kunnen denken dat hij op een bepaalde manier de password shuffeld).

Ik kan je aanraden als je een eigen methode bedenkt dat je die voor jezelf moet houden, zodat je ook echt een eigen methode hebt.

Als er dingen onduidelijk zijn hoor ik ze wel ;).

This script is brought to you by G-Interfaces(mijn toekomstige bedrijf).


P.S.

Als je deze script wilt gebruiken voor php4 moet je de visibility keywords weghalen en de keyword self veranderen in de naam van de class.

Gesponsorde koppelingen

PHP script bestanden

  1. gi-crypt

 

Er zijn 14 reacties op 'Gi crypt'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jordi
Jordi
18 jaar geleden
 
0 +1 -0 -1
Ziet er goed uit, ik heb alleen twee vraagjes en een opmerking:
1. Waarom gebruik je vaak self:: en niet gewoon $this-> ? Dat kan toch ook gewoon?
2. Hoe komt het (precies) dat $class->encrypt(encrypt($data, $key), $key); niets verandert aan de data, want dat zie ik zo even niet.

Ik denk dat je blendoctet-methode wat effectiever kan als je bitwise operatoren gebruikt. Zo dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
protected function blendoctet($octet1,$octet2){
    for($i = 0; $i < sizeof($octet1); $i++){
        $key_pos = $i % sizeof($octet2);
        for($o = 0; $o < 8; $o++){
            $octet1[$i][$o] = $octet1[$i][$o] ^ $octet2[$key_pos][$0];
        }
    }

    $this->output_data = $octet1;
}

?>
St.Chessere
St.Chessere
18 jaar geleden
 
0 +1 -0 -1
$this-> is alleen maar variabelen en niet voor functies,
MAar ik zal die bitwise operator effe gaan testen of het werkt
DaeDaluz
DaeDaluz
18 jaar geleden
 
0 +1 -0 -1
$this-> werkt ook met Functies hoor :)

Verder wel een mooi script (Y)
Jordi
Jordi
18 jaar geleden
 
0 +1 -0 -1
Ik heb het even uitgezocht en ik dacht eigenlijk dat ik het ook had gepost, maar ik zal me wel vergist hebben.

self:: verwijst naar de klasse waaruit de methode wordt aangeroepen. In dit geval gaat dat dus vrij goed, maar als je ooit deze class wilt laten erven door een andere, krijg je een probleem. Dit gaat namelijk niet werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
class Test extends g_i_crypt //Edit: eerst was ik 'extends g_i_crypt' vergeten...
{
    public function encrypt($data,$key){
        return parent::encrypt($data,$key);
    }
}

$class = new Test();
$data = $class->encrypt("G-Interfaces.com","chessere");
?>


Dit werkt niet, omdat hij in de class g_i_crypt (oa) de methode self::key2octet($key) wil aanroepen, maar op dat moment verwijst self:: naar de class Test en daar staat geen key2octet-methode in.

Maar goed, zolang je je class niet wilt laten erven, is er niets aan de hand. Aan de andere kant is het dan ook weer niet zo nuttig om class-members protected te maken...
St.Chessere
St.Chessere
18 jaar geleden
 
0 +1 -0 -1
Als het goed is moet het zo wel werken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
class Test extends g_i_crypt
{
    public function encrypt($data,$key){
        return parent::encrypt($data,$key);
    }
}

$class = new Test();
$data = $class->encrypt("G-Interfaces.com","chessere");
?>


Weet niet zeker (A) maar zal wel effe testen
Jordi
Jordi
18 jaar geleden
 
0 +1 -0 -1
Ik was vergeten er 'extends g_i_crypt' achter te zetten... :$

Ik denk dus dat dat van jou niet gaat werken, maar heel zeker weten doe ik het niet.


18 jaar geleden
 
0 +1 -0 -1
Wat is het verschil tussen een public- en een protected function?
Mooi script.


18 jaar geleden
 
0 +1 -0 -1
hey,

zou iemand alstublieft meer info kunnen geven hoe ik het verder kan veranderen?
want ik snap er echt ni veel van hoe ik het verder zou kunnen veranderen.
ik heb strrev al opgezocht en dit draait een string om.
St.Chessere
St.Chessere
18 jaar geleden
 
0 +1 -0 -1
Ja je kan een eigen wiskundige methode maken om de characgters te shuffelen of zelfs de bitjes ;)


18 jaar geleden
 
0 +1 -0 -1
dus als ik het goed begrijp geeft de functies eigenlijk gewoon een getal??
(heeeeeeeeeeeeeeeeeeeeel simpel gezien :d)
Kaneter
kaneter
18 jaar geleden
 
0 +1 -0 -1
Je moet self:: gebruiken als je een methode aanroept die als 'static' is gedeclareerd. In dit geval is dat niet zo, maar het had gekund voor het overzicht.


18 jaar geleden
 
0 +1 -0 -1
ik heb het al werkende gekregen maar het gaat heel erg traag bij mij
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


15 jaar geleden
 
0 +1 -0 -1
Hallo allemaal,

Ik ben net nieuw hiero, en ik zie ook wel dat de laatste reactie zo'n een en eenhalf jaar geleden is gepost, maar toch wil ik nog even een reactie plaatsen.

Ik heb denk ik namelijk een soort bug ontdekt. Probeer maar eens: encrypt een willekeurige string met een willekeurige sleutel. Daarna ga je de ge-encrypte waarde weer decrypten maar nu laat je de sleutel leeg (""). En tadaa! Daar is je geëncrypte waarde, weer keurig gedecrypt.

Ik ga eens kijken of ik hem kan verbeteren en deze bug eruit werken ;)

Groetjes:)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. gi-crypt

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.