Avatar billede cmau Nybegynder
08. marts 2005 - 20:28 Der er 11 kommentarer og
2 løsninger

ASCII kryptering og dekryptering

Hejsa.

Jeg havde engang fundt en side hvor jeg kunne skrive en tekst og trykke krypter og få stukket en kode i hånden som denne:
0100001101101000011000010111010001001001011100110110110001100001011011100110

Også kunne man sende koden til en ven også kunne han smide den i dekrypter og klikke dekrypter også fik han beskeden vist.

Nu kan jeg selvfølgelig ikke finde den igen, så ville høre om hvordan man så selv kunne lave sådan en?
Avatar billede bromer Nybegynder
08. marts 2005 - 20:30 #1
Du kan vel lave en tekst om til deres charactercode og så formatere dem binært, så har du noget lignende.
Avatar billede bromer Nybegynder
08. marts 2005 - 20:32 #2
Det her burde gøre det. Jeg har ikke rigtig testet det dog.

<?php

// Vi har tekst i $text
$res = '';
foreach($i = 0;$i < strlen($text);$i++) {
    $res .= decbin(ord($text{$i}));
}

print $res;

?>
Avatar billede cmau Nybegynder
08. marts 2005 - 20:33 #3
Hmm.. tror du man kunne det hvis der så stod 5654 så kunne den vel finde på at tage 65 som stor i også lave til "a"?

Men vil da gerne prøve at se sådan en kode?
Avatar billede cmau Nybegynder
08. marts 2005 - 20:34 #4
Får fejl i denne linje: foreach($i = 0;$i < strlen($text);$i++) {
Avatar billede bromer Nybegynder
08. marts 2005 - 20:37 #5
Ahh.. ja.. det skal naturligvis være en for og ikke en foreach. Funktionen er dog også lidt svær at dekryptere da, men den virker den ene vej.
Avatar billede cmau Nybegynder
08. marts 2005 - 20:39 #6
Nu virker den, men vil du så prøve at lave en dekrypter?
Avatar billede bromer Nybegynder
08. marts 2005 - 20:43 #7
Nej det gider jeg ikke.. det kan du gøre ved at at sikre at padde tallene så alle tal du laver om til bits har samme længde. Du kan så dekryptere ved at lave en chr(bindec()) på det tal
Avatar billede cmau Nybegynder
08. marts 2005 - 20:52 #8
Kan du så prøve at uddybe det lidt?
Avatar billede bromer Nybegynder
08. marts 2005 - 21:02 #9
Hehe.. nu lavde jeg det lige alligevel..

<?

$test = "Dette er en tekst";

function my_crypt($text) {
          for($i = 0;$i < strlen($text);$i++) {
                  $n = decbin(ord($text{$i}));
                        while(strlen($n) < 10) {
                                $n = "0" . $n;
                        }
                        $res .= $n;
          }
          return $res;
}

function my_decrypt($text) {
        $res = '';
        for ($i = 0; $i < (strlen($text)/10);$i++) {
                $a = substr($text,$i*10,10);
                $res .= chr(bindec($a));
        }
        return $res;
}
Avatar billede cmau Nybegynder
08. marts 2005 - 21:10 #10
Jeg er dum til det der funktion noget. Kan ikke finde ud af at bruge det :/ Hvordan bruger man funktionen?
Avatar billede bromer Nybegynder
08. marts 2005 - 21:12 #11
hmm.. for eksempel sådan her:

<?
$my_text = "Dette er en test tekst";
$crypt = my_crypt($my_text);
$decrypt = my_decrypt($crypt);

print $my_text;
print "\n" . $crypt;
print "\n" . $decrypt;
?>
Avatar billede cmau Nybegynder
08. marts 2005 - 21:18 #12
Tusind tak ;)
Avatar billede bromer Nybegynder
08. marts 2005 - 21:20 #13
det var så lidt
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester