Sida 1 av 1

krypterinsproblem

Postat: 2013-10-01 18:12
av nit

Kod: Markera allt

<?php
    include('connectDb.php');
    $code = $conn->real_escape_string(hash('SHA1',$_POST['code']));
    $result = $conn->query("SELECT prs FROM login WHERE prs = '".$code."'")
            or trigger_error($conn->error);
    if($result->num_rows < 1){
        echo 'wrong ';
    }else{
        echo 'right ';
    }
jag kan inte få det rätt. Min databas är krypterad med SHA1 funktionen. $code trimmat med jquery

Kod: Markera allt

$.trim(code)
som i sin tur skickas genom ajax

Re: krypterinsproblem

Postat: 2013-10-02 00:37
av Marcus
Kontrollera att du sparar hela hashen i databasen.

Så du t.ex. inte har satt utrymmet i kolumnen prs till färre tecken än vad hashen genererar.

Testa om det inte är hårt krav på hur din algoritm anges, dvs. att den ska anges som 'sha1' och inte alls tar 'SHA1'.

Re: krypterinsproblem

Postat: 2013-10-02 11:50
av nit
Det har jag redan gjort. Jag har t.o.m provat md5 men tydligen så är inte phps md5 likadant som mysql md5 (ger inte samma resultat). Jag har ingen varför det inte fungerar!

Re: krypterinsproblem

Postat: 2013-10-02 13:07
av Marcus
Kan vara ett encoding problem. Vad har du för encoding på databas respektive php-filen? UTF8

Re: krypterinsproblem

Postat: 2013-10-02 15:46
av nit
utf8_swedish_ci

Re: krypterinsproblem

Postat: 2013-10-02 17:50
av nit
Förlåt att jag svara två ggr på rad men jag hittade ej edit-knappen. Jag provade ändra prs-type från varchar till float och la till utf8_encode

Kod: Markera allt

$code = $conn->real_escape_string(utf8_encode(md5($_POST['code'])));
och det funkade.

Kan någon svara varför?