'Vertaalmachine' voor clubje
ik zit bij een club van een forum. Nu waren we met z'n allen van plan om een soort geheimtaal te maken. Nu ziet niemand het echt zitten om die taal dan in je kop te stampen, dus kwam ik met het idee voor een vertaalmachine. Nu vraag ik me af hoe ik dat in hémelsnaam moet gaan doen.
Ik vraag niet om een exact voorbeeld met alles erop en dr aan, maar gewoon voor een manier hoe ik dit zou kunnen doen.
Hoe moet het werken?
Typ de tekst in die je wil vertalen naar de geheimtaal. De geheimtaal zit zo in elkaar (dit is niet de preciese geheimtaal, maar die moeten we nog verzinnen x'D)
A = $
B = *
C = (
etc.
Om het dan andersom te doen daar is natuurlijk niks aan.
Zou iemand mij kunnen vertellen hoe ik dit aan moet pakken?
Groetjes,
Lotje
PS. Jullie zien wel dat mijn PHPkennis de afgelopen tijd niet heel erg omhoog is gegaan ;]
Edit: Oh ik zie dat ik hem bij site revieuws heb gezet. Dat soort dingen doe ik nou altijd ¬¬ Zou een mod hem even op de goede plaats willen zetten?
Gewijzigd op 01/01/1970 01:00:00 door PHP hulp
waarom geen forum maken waar je alleen in kunt als je bent ingelogd?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
function vertaal($string)
{
$code = array('!','@','#');
$vertaald = array('a','b','c');
return str_replace($code,$vertaald,$string);
}
echo vertaal('!@#');
?>
function vertaal($string)
{
$code = array('!','@','#');
$vertaald = array('a','b','c');
return str_replace($code,$vertaald,$string);
}
echo vertaal('!@#');
?>
Tommy schreef op 18.10.2007 17:29:
waarom geen forum maken waar je alleen in kunt als je bent ingelogd?
Het is een openbare site en er is al zo'n forum. Maar we willen het gewoon leuker maken, iets 'eigens' gevne met een geheim taal.
@Mebus, volgens mij heb je niet precies begrepen wat ik bedoel. Ik wil met PHP een vertaalmachine maken, zodat we met allemaal vreemde tekens kunnen praten. Die tekens staan inmiddels vast.
Blanche schreef op 18.10.2007 17:39:
str_replace() is de functie de je wilt gebruiken. Het meest simpele voorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
function vertaal($string)
{
$code = array('!','@','#');
$vertaald = array('a','b','c');
return str_replace($code,$vertaald,$string);
}
echo vertaal('!@#');
?>
function vertaal($string)
{
$code = array('!','@','#');
$vertaald = array('a','b','c');
return str_replace($code,$vertaald,$string);
}
echo vertaal('!@#');
?>
Dan nog for, ord en chr gebruiken.. heb namelijk niet zoveel zin om te typen^^
@lotte, o oke^^
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
waarom niet in braille?
Op deze site staan verschillende BrEzah en 1337 alizers; kan je ongetwijfeld bekijken en deels gebruiken.
@mebus: tja, dat is alleen handig als je alle tekens opeenvolgend wilt.
Blanche schreef op 18.10.2007 17:45:
@mebus: tja, dat is alleen handig als je alle tekens opeenvolgend wilt.
Dat elke letter bijvoorbeeld 5 letters doorschuift.. nee.. ik niet hoor;)
Dankjewel allemaal, ik ga aan de slag! Als er iets niet lukt of als hij klaar is laat ik het weten :-)
Jan Koehoorn:
Ik heb net even gekeken, maar die telt gewoon 13 letters verder in het alfabet. Ook gemakkelijk te kraken dus ;-)
Gewijzigd op 01/01/1970 01:00:00 door Gerben Jacobs
Het is al een stuk slimmer om met elkaar een codeersleutel af te spreken waarmee je een stuk tekst kunt coderen en decoderen. Ik heb laatst toevallig zoiets gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);
function codec ($bron, $key) {
$key_len = strlen ($key);
for ($i = 0, $j = 0, $n = strlen ($bron); $i < $n; $i++, $j++) {
if ($j == $key_len) {
$j = 0;
}
$bron{$i} = $bron{$i} ^ $key[$j];
}
return $bron;
}
$bron = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi ultrices tempor est. Vestibulum a leo non justo vestibulum adipiscing. Sed dictum. Praesent lacus ante, aliquet ac, tincidunt vel, sagittis quis, dui. Praesent volutpat sollicitudin leo. Ut sed elit. Suspendisse et lacus. In tristique dui vel dui. Ut adipiscing. Proin erat. Fusce venenatis. Donec dapibus egestas odio. Phasellus at eros ut nisi varius laoreet. Pellentesque vulputate laoreet risus. Phasellus vitae arcu. Cras accumsan.';
$key = 'dit is mijn key en hij is lang, dus bruteforcen gaat niet lukken';
echo '<h1>Encrypted:</h1>';
$txt = codec ($bron, $key);
echo '<p>' . $txt . '</p>';
echo '<h1>Decrypted:</h1>';
$txt = codec ($txt, $key);
echo '<p>' . $txt . '</p>';
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);
function codec ($bron, $key) {
$key_len = strlen ($key);
for ($i = 0, $j = 0, $n = strlen ($bron); $i < $n; $i++, $j++) {
if ($j == $key_len) {
$j = 0;
}
$bron{$i} = $bron{$i} ^ $key[$j];
}
return $bron;
}
$bron = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi ultrices tempor est. Vestibulum a leo non justo vestibulum adipiscing. Sed dictum. Praesent lacus ante, aliquet ac, tincidunt vel, sagittis quis, dui. Praesent volutpat sollicitudin leo. Ut sed elit. Suspendisse et lacus. In tristique dui vel dui. Ut adipiscing. Proin erat. Fusce venenatis. Donec dapibus egestas odio. Phasellus at eros ut nisi varius laoreet. Pellentesque vulputate laoreet risus. Phasellus vitae arcu. Cras accumsan.';
$key = 'dit is mijn key en hij is lang, dus bruteforcen gaat niet lukken';
echo '<h1>Encrypted:</h1>';
$txt = codec ($bron, $key);
echo '<p>' . $txt . '</p>';
echo '<h1>Decrypted:</h1>';
$txt = codec ($txt, $key);
echo '<p>' . $txt . '</p>';
?>
hoe werkt dat met die key?
http://www.siepman.nl/geheim-bericht/
ik heb mijn text gecodeerd, probeer dit is te kraken:
als je het w8woord hebt pm me dan even :), anders wordt het weer off-topic
@lotte, op dit site hebben ze zo'n codeer / decdeer systeem ik heb mijn text gecodeerd, probeer dit is te kraken:
als je het w8woord hebt pm me dan even :), anders wordt het weer off-topic
Tommy schreef op 18.10.2007 20:51:
hoe werkt dat met die key?
Simpel. De key wordt langs de brontekst gehaald met een bitwise XOR. Dat levert de cyphertekst op. Als je dezelfde key nog eens langs de cyphertekst haalt, krijg je de bron weer. Het voordeel van een XOR bit operatie is namelijk dat hij na twee keer uitvoeren het originele resultaat oplevert. Zo heb je dus maar één functie nodig voor zowel het coderen als het decoderen.
Kijk eens lockdown op tv. Welke codes gevangenen gebruiken. Die zijn niet te kraken (uiteindelijk door gespecialiseerde codekrakers dan van de FBI)
vb:
a = 1
p = 3
p = 3
e = 7
l = 2
en andersom ook :P
off-topic: moet je dit zien:
http://www.oooooouch.com/
om piano te spelen :P, wat best wel funny is...
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
Peter schreef op 18.10.2007 20:59:
@jan dat is vet, dus dan ald je appel codeert krijg je zoiets
vb:
a = 1
p = 3
p = 3
e = 7
l = 2
en andersom ook :P
vb:
a = 1
p = 3
p = 3
e = 7
l = 2
en andersom ook :P
Dat hangt van de key af die je gebruikt/afspreekt. Hoe langer de key, hoe beter. In jouw voorbeeld gaat de eerste p naar 3 en de tweede ook. Met mijn methode leveren dezelfde letters niet altijd dezelfde tekens op, waardoor hij lastiger te kraken is.
@Jan: inderdaad een leuk voorbeeldje. Maar volgens mij produceert die lang niet in alle gevallen een bruikbare code. Er zitten al snel onleesbare tekens in die je niet kunt kopieren en als gevolg dus ook niet kunt decoderen...