Hallo,
ik heb geprobeert een eigen algoritme te maken om tekst te coderen.
alleen, hij geeft aardig wat fouten in de tekst als je een tekst gecodeert en gedecodeerd hebt

zie dit, het waren eerst allemaal 1en(en evenwijd,dus niet stukjes weg op het eind zoals nu hetgeval is):



111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111&1111111111111&11111
111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111&1111111111111111111111111&111111111
111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111&11111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111&111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111


ik weet dat ik wel wat aan de code kan verbeteren(arrays)
maar hoe krijg ik dit goed?

source: http://labs.jurriaanpruis.nl/crypt2.phps
Mischien is het handig het binaire getallensysteem is eens een beetje te begrijpen?

http://nl.wikipedia.org/wiki/Binair

En zo langzaam van een simpele algoritme na een steeds moeilijkere gaat?

Ik weet niet of ik nu juist spreek of de juiste aanwijzingen geef ma ik doe mijn best! en anders mijn excuse:)

GR. mebus
dit was gewoon een test ik kan net zo goed eenhele tekst typen, dan komen er ook allemaal fouten in
Toevallig heb ik laatst een simpele en-/decrypt functie geschreven. Hij werkt met een sleutel die beide partijen moeten kennen, bijv:

<?php
$tekst = encrypt ('phphulp', $tekst);
echo $tekst;
$tekst = decrypt ('phphulp', $tekst);
echo $tekst;
?>

hieronder de code:
<?php
function encrypt ($sleutel, $src) {
$n = strlen ($src);
$m = strlen ($sleutel);
$index = 0;
$dst = array ();
for ($i = 0; $i < $n; $i++) {
for ($j = 0; $j < $m; $j++) {
$dst[$index] = ord ($sleutel{$j}) * ord ($src{$index});
$index++;
if ($index == $n) {
return implode (' ', $dst);
}
}
}
}

function decrypt ($sleutel, $dst) {
$m = strlen ($sleutel);
$i = 0;
$array = explode (' ', $dst);
$src = array ();
foreach ($array as $value) {
$src[] = chr ($value / ord ($sleutel{$i}));
$i++;
if ($i == $m) $i = 0;
}
return implode ('', $src);
}

?>
hoe werkt dat precies met die 2 fors in het eerste gedeelte?
Als ik het script van Jan goed begrijp, dan doorloopt ie met de eerste for() letter voor letter de hele te crypten tekst. In de tweede for() doorloopt ie letter voor letter de hele sleutel. $index loopt mee met de for()'s en fungeert als teller voor het aantal letters in de tekst én in de 'encrypte tekst'. Het leuke is dat de ASCII-waarde van de eerste letter uit de tekst wordt vermenigvuldigd met de ASCII-waarde van de eerste letter uit de sleutel. Dit gaat door tot óf de tekst is doorlopen óf de sleutel is doorlopen. Als de sleutel is doorlopen is de binnenste for() klaar en verhoogt de buitenste for() zijn waarde en dan start in de binnenste for() opnieuw het doorlopen van de sleutel. Dit gaat door totdat $index gelijk is aan de lengte van de tekst. Op dat moment volgt de return met het resultaat en springt ie uit de function() en dus ook uit de nog lopende for()'s.

Ik hoop dat je het een beetje kan volgen.
zie resultaat: labs.jurriaanpruis.nl/crypt2.php
ik heb die encrypt functie een beetje aangepast maar ik ben er nog mee bezig

Reageren