Jak zrobic PDO update z AES or DES enctypt?

0
// JAK TO SIE ROBI?

$aeskey = 'dupa';

$daneDoDodania = [
    'login' => $login,
    'password' => $password,
    'data' => $data,
];
$sql = "UPDATE BecomeStickerGuy SET data = DES_ENCRYPT(:data, '".$aeskey."') WHERE login = :login AND password = DES_ENCRYPT(:password, '".$aeskey."'));";
$stmt= $db->prepare($sql);
$count = $stmt->execute($daneDoDodania);

Bo tak nie dziala. Czy ktos mi pomoze? Porsze!

0

No więc to działą... alt to jest INSERT a nie UPDATE...

$aeskey = 'dupa';

$daneDoDodania = [
    'login' => $login,
    'password' => $password,
    'data' => $data,
];
$sql = "INSERT INTO BecomeStickerGuy (login, password, data) VALUES (:login, DES_ENCRYPT(:password, '".$aeskey."'), DES_ENCRYPT(:data, '".$aeskey."'));";
$stmt= $db->prepare($sql);
$count = $stmt->execute($daneDoDodania);


print("Added $count new sticker-guy to database.\n");
0
UPDATE MailList 
SET Email = AES_ENCRYPT( '[email protected]', 'jkfdsfsaKJjdsf' ) 
WHERE ID =  '138142'

Ok. Znalazlem cos takiego. Ale jak to polaczyc z tym tamtym co na gorze?

0

Widze, ze wam dobrze idzie rozkminianie tego jakże palącego mnie problemu, więc zadam wam jeszcze jedno pytanie tyczące się jaknajbardziej kryptografii. Otóż czy takie zapytanie jest możliwe i czy ma sens:

// MySQL
include("databaseConnection.php");

// ODBIERAMY ZMIENNE SESJI
$login = $_SESSION["login"];
$password	= $_SESSION["password"];
$data = $_POST["data"];

// TEST 
echo 'Login: '.$login.'<br>';
echo 'Password: '.$password.'<br>';
echo 'Data: '.$data.'<br>';

$sql = "UPDATE BecomeStickerGuy SET data = DES_ENCRYPT('$data','dupa') WHERE login = '$login' AND DES_DECRYPT(password,'dupa') = '$password'";
$res = $db->query($sql);


$count = $res->rowCount();	
print("Data updated for $count sticker-guy.\n");

Jak widzimy na załączonym przykładzie, leci zapytanie do bazy danych... pokarz wszystkie w ktorych odkodowane haslo jest takie. I teraz co? MySQL odkodowuje wszystkie zakodowane hasła potrójnym kluczem DES + tokenem dupa, żeby sprawdzić czy przypadkiem które rekordy spełniają mój wymóg? A jak w bazie jest 1.000.000 userów których hasła są zakodowane to w jednej iteracji odkodowywane są hasła wszystkich?

Jest jeszcze jeden aspekt. Otóż tyczy się on bezpośrednio specyfikacji kodowania kluczem DES. Czy odkodowany ciąg znaków jest zawsze taki sam jak zakodowany, ale chyba raczej tak więc uważam że jest to głupie pytanie które nie wymaga odpowiedz.

Dzięki za odpowiedź przed kolacją.
Pozdrawiam

Kuba

1 użytkowników online, w tym zalogowanych: 0, gości: 1