Avatar billede sjovt Nybegynder
04. februar 2012 - 00:58 Der er 1 løsning

Kryptering via RSA, lidt hjælp søges

Hej folkens.

Jeg sidder og skal lave et program der kan følgende:

Krypter en tekst for derefter at kunne dekrypter teksten! :)

Det skal kunne gøres ud fra hvad man har valgt på en anden side.

Som i kan se ser PHP delen sådan her ud:

<?php


$M = ($_POST['besked']);


$p = "197";
$q = "199";
$e = "13";
$d = "11941";
$N = bcmul($p,$q);


echo 'Din tekst: '.$M.'<br><br>'."\n ";


    if (isset($_POST["Dekrypter"]) && $_POST["Dekrypter"] == 'ja' && (isset($_POST["Krypter"]) && $_POST["Krypter"] == 'ja')) {
   
    echo 'Lad venligst vær med at trykke begge to.. - Prøv igen';
}

    else if(isset($_POST["Krypter"]) && $_POST["Krypter"] == 'ja')
   
   
{
    function krypter($M)
    {
      for ($i = 0, $j = strlen($M); $i < $j; $i++) {

      $dec_array[] = ord($M{$i});
     
      echo 'Asci Værdig '.$dec_array[$i].'<br>'."\n";
     
      $blå = $dec_array[$i];
       
      global $e;
      global $N;
      $Me = bcpow($blå,$e);
      $C = bcmod($Me,$N);
       
      echo 'Din tekst krypteret: '.$C.'<br><br>'."\n ";
       
        }
        return $C;
}

    echo '<br><br>Din tekst blev krypteret det sidste bogstav blev således '.krypter($M).'<br><br>'."\n ";


    }
   
   
   
   
    else if (isset($_POST["Dekrypter"]) && $_POST["Dekrypter"] == 'ja')
    {
        function dekrypter($M)
        {
        for ($i = 0, $j = strlen($M); $i < $j; $i++)
        {
       
        global $d;
        global $N;
        $Cd = bcpow($M,$d);
        $Ma = bcmod($Cd,$N);
       
        $grøn =chr($Ma);
        echo 'Din krypterede tekst '.$Ma.'<br><br>'."\n ";
    }
    return $Ma;
    }
   


    $grøn = chr(dekrypter($M));
   
    echo 'Teksten dekrypteret: '.($grøn).'<br>'."\n ";   
   
   
    }
   
    else
   
    echo 'Du skal vælge om du vil dekrypter eller krypter.';


?>



Det den gør nu er at den udprinter når jeg krypter en masse :

Asci Værdig 104
Din tekst krypteret: 30768

fx :) indtil der ikke er flere bogstave.

er der en måde hvor jeg kan få det til at blive printet alle de kryptede værdier ud på en linje med mellemrum?


Nå næste spørgsmål ved dekryptering vil jeg meget gerne kunne tage et bogstav af gangen så den tager hver ting adskilt med et mellem rum så den i overstående tilfælde starter med
30768, og forsætter til den sidste.

Det skal sættes ind på en linje så det giver en forståelig tekst.


Det den gør nu er :

Din krypterede tekst 101 ( her giver den dec, asci værdien)

og så udskriver den bogstavet
Teksten dekrypteret: e


Hvis i har brug for mere information så skriv endelig :)
Avatar billede sjovt Nybegynder
07. marts 2012 - 08:10 #1
Fandt aldrig en real løsning, så brugte bare at den smede det ud en masse gange.
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
Kurser inden for grundlæggende programmering

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