03. november 2009 - 19:50Der er
12 kommentarer og 1 løsning
Klasse med mcrypt
Hej Eksperter.
Jeg har lavet denne her klasse, som gerne skulle kunne kryptere og dekryptere, men det virker ikke så godt. Jeg har tjekket phpinfo() og den viser at der er understøttelse for blowfish som jeg bruger.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Haha, den havde jeg ikke lige set... Men nu kommer der nogle småfejl. Den siger at $ivsize = mcrypt_get_iv_size($this->td); mangler en parameter, men det er der ikke i det eksempel jeg har fundet.
Jeg fik den til at virke... Takker for hjælpen, smid et svar :o)
//mcardle
Synes godt om
Slettet bruger
03. november 2009 - 20:36#7
Ja, det sker også tit for mig. Sidder og leder i timer efter en simpel fejl. Så er et par nye øjne altid go'e :)
Kan vi få løsningen at se? Så kan andre der er i gang med samme opgave jo se hvordan det skal gøres.
(Hmm... Nu er jeg ikke super skarp til OOP, men ville klassen ikke lige så godt kunne integreres abstrakt? Det vil selvfølgelig kræve at du importerer mcrypt-modulet hver gang det skal bruges, men vil vel gøre det lettere og mere funktions-agtigt at bruge klassen. Det kan også være at det spolerer hele idéen med at lave det som en klasse, eller simpelthen er for svært. Så må du bare ignorere mit forslag.)
Synes godt om
Slettet bruger
03. november 2009 - 20:47#8
Hvad med liiige at poste den endelige version af class'en : )
Jeg er ikke selv for spids i abstract-classes. Jeg er ikke helt sikker på hvad en abstrakt klasse kan, arver den ikke bare fra andre klasse eller? Jeg har læst lidt om det, men forstod det ikke helt :o)
Den endelig klasse, lige til alle jer der bare vil kopi / vaste:
<?php
class Encryption{ protected $cypher = "blowfish"; protected $mode = "cfb"; protected $key = ""; // Et ord der skal bruges i krypteringen. protected $td;
public function __construct(){ $this->td = mcrypt_module_open($this->cypher, '', $this->mode, ''); $this->_setUnsafeHtml(); }
public function encryptPassword($plaintext){ return $this->_encrypt($plaintext); }
public function decryptPassword($crypttext){ return $this->_decrypt($crypttext); }
Som sagt, jeg er heller ikke en haj til abstrakte klasser i PHP, men jeg forestiller mig at de ligner (det jeg kender som) virtuelle klasser i andre sprog, altså klasser som ikke initialize som instances, men bruges direkte altså:
$tekst = "Blah"; $nytekst = Encryption->encryptPassword($tekst); echo $tekst . " bliver krypteret til " . $nytekst; //a1d78b2ef
Det var kun en strøtanke, (hvorfor den også stod i parentes) og jeg kan desværre ikke rigtigt hjælpe dig videre med det.
PS: Hvis det jeg siger er det rene sludder skal i være velkomme til at rette mig.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.