Gå til innhold

kryptering av tekst - problem html -> php


Anbefalte innlegg

Altså tingen er at eg vil lage en enkel side hvor man kan kryptere en tekst med et kodeord, Jeg har forsåvid klart det. Men så skal eg også ha muligheten til å dekryptere det samme.

 

- Det skal være en mulighet for å velge "decrypt"/"encrypt" i enten radiobutton eller annet

- et "textarea" for kodeordet

- et "textarea" for teksten.

- en "submit button" som sender alt til en php fil/eller til seg selv.

 

 

I teksten under har eg prøvd og få det til. Eg vet at koden med krypteringen går. Det er fordi det er koden eg brukte før. Men eg ville rydde opp i koden og lage det litt anderledes, noe som gjorde at eg har ødelagt alt. Eg prøvde og få til at om du velger "encrypt" i radiobuttonen og skriver inn "key"/Kodeordet og "text"/teksten som skulle encryptes og så submitet at alt ville fungere med php kodene. Men det ser ut til å ikke fungere.

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="fraction" />
<link rel="stylesheet" href="/css/crypto.css" type="text/css" />

<title>Zip - Crypto</title>
</head>

<body> 
<div id="wrapper">
<div id="headercontainer">
	<div id="header">
       <img src="/images/Banner.png" alt="crypto-header">
       </div>  <!--end of header div-->

	<div id="menu"></div>

</div>  <!--end of headercontainer-->

<div id="content"> 
		<div class="center"> 
			<div id="main_area"> 

			<table border="0" align="center" >
			<form action="<?PHP echo $_SERVER["PHP_SELF"]; ?>" method="post">
			<input type="radio" name="crypto" value="encrypt" />Encrypt | 
			<input type="radio" name="crypto" value="decrypt" />Decrypt | 


			<strong>Keyword: </strong><input type="text" name="key" />				
			<p><strong>Paste the text you want to encrypt below!</strong></p> 
			<textarea name="text"  rows="16" cols="85"></textarea>

               <input type="submit" name="submit" id="paste" value="Do" style="width:120px" />

			</form> 
			</table> 

		</div>  <!--end of center div--> 
	</div>  <!--end of #content--> 

<div id="footercontainer">
	<div id="footer">
	</div>  <!--end of #footer--> 
</div>  <!--end of #footercontainer--> 

</div>  <!--end of #wrapper--> 

</body>
</html>


<?php


   $key = $_POST["key"];  // 8-32 characters without spaces 
   $string = $_POST["text"];

if ($_POST['crypto'] == 'encrypt'){


   function encrypt($string, $key) { 
       $result = ''; 
       for($i=0; $i<strlen($string); $i++) { 
           $char = substr($string, $i, 1); 
           $keychar = substr($key, ($i % strlen($key))-1, 1); 
           $char = chr(ord($char)+ord($keychar)); 
           $result.=$char; 
           }
       return base64_encode($result);
   }

}

if ($_POST['crypto'] == 'decrypt'){ 


   function decrypt($string, $key) { 
       $result = ''; 
       $string = base64_decode($string);
       for($i=0; $i<strlen($string); $i++) { 
           $char = substr($string, $i, 1); 
           $keychar = substr($key, ($i % strlen($key))-1, 1); 
           $char = chr(ord($char)-ord($keychar)); 
           $result.=$char; 
           }
       return $result;
       }

}

$string=decrypt($string,$key);

if ($string == ""){ 
   echo "";

if ($string != ""){
       echo '
           <h2>Information:</h2>
           <table border="0" style="font-family:Courier" >
               <tr><td><h3><b>Message:</b></h3></td><td><i>Useless</i><br></td></tr>
               <tr><td><h3><b>Keyword:</b></h3></td><td>- <i>'.$key.'</i><br></td></tr
               <tr><td><h3><b>Encrypted:</b></h3></td></tr>
           </table>
           <textarea rows="15" cols="150" style="border:none">'.$string.'</textarea>';
   }

$string=encrypt($string,$key);

if ($string == ""){ 
   echo "";

if ($string != ""){
       echo '
           <h2>Information:</h2>
           <table border="0" style="font-family:Courier" >
               <tr><td><h3><b>Message:</b></h3></td><td><i>Useless</i><br></td></tr>
               <tr><td><h3><b>Keyword:</b></h3></td><td>- <i>'.$key.'</i><br></td></tr
               <tr><td><h3><b>Encrypted:</b></h3></td></tr>
           </table>
           <textarea rows="15" cols="150" style="border:none">'.$string.'</textarea>';
   }
?>

 

 

Lenke til kommentar
Videoannonse
Annonse

Dette er den mest irriterende feilen i hele verden!

 

Du må legge til en "{" på begge

if ($string == ""){ 
   echo "";

 

DVS at scriptet ditt blir samlet:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
       <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
       <meta name="author" content="fraction" />
       <link rel="stylesheet" href="/css/crypto.css" type="text/css" />

       <title>Zip - Crypto</title>
</head>

<body> 
<div id="wrapper">
       <div id="headercontainer">
               <div id="header">
       <img src="/images/Banner.png" alt="crypto-header">
       </div>  <!--end of header div-->

               <div id="menu"></div>

       </div>  <!--end of headercontainer-->

       <div id="content"> 
                       <div class="center"> 
                               <div id="main_area"> 

                               <table border="0" align="center" >
                               <form action="<?PHP echo $_SERVER["PHP_SELF"]; ?>" method="post">
                               <input type="radio" name="crypto" value="encrypt" />Encrypt | 
                               <input type="radio" name="crypto" value="decrypt" />Decrypt | 


                               <strong>Keyword: </strong><input type="text" name="key" />                              
                               <p><strong>Paste the text you want to encrypt below!</strong></p> 
                               <textarea name="text"  rows="16" cols="85"></textarea>

               <input type="submit" name="submit" id="paste" value="Do" style="width:120px" />

                               </form> 
                               </table> 

                       </div>  <!--end of center div--> 
               </div>  <!--end of #content--> 

       <div id="footercontainer">
               <div id="footer">
               </div>  <!--end of #footer--> 
       </div>  <!--end of #footercontainer--> 

</div>  <!--end of #wrapper--> 

</body>
</html>


<?php


   $key = $_POST["key"];  // 8-32 characters without spaces 
   $string = $_POST["text"];

if ($_POST['crypto'] == 'encrypt'){


   function encrypt($string, $key) { 
       $result = ''; 
       for($i=0; $i<strlen($string); $i++) { 
           $char = substr($string, $i, 1); 
           $keychar = substr($key, ($i % strlen($key))-1, 1); 
           $char = chr(ord($char)+ord($keychar)); 
           $result.=$char; 
           }
       return base64_encode($result);
   }

}

if ($_POST['crypto'] == 'decrypt'){ 


   function decrypt($string, $key) { 
       $result = ''; 
       $string = base64_decode($string);
       for($i=0; $i<strlen($string); $i++) { 
           $char = substr($string, $i, 1); 
           $keychar = substr($key, ($i % strlen($key))-1, 1); 
           $char = chr(ord($char)-ord($keychar)); 
           $result.=$char; 
           }
       return $result;
       }

}

$string=decrypt($string,$key);

if ($string == ""){ 
   echo "";
}

if ($string != ""){
       echo '
           <h2>Information:</h2>
           <table border="0" style="font-family:Courier" >
               <tr><td><h3><b>Message:</b></h3></td><td><
i>Useless</i><br></td></tr>
               <tr><td><h3><b>Keyword:</b></h3></td><td>- <i>'.$key.'</i><br></td></tr
               <tr><td><h3><b>Encrypted:</b></h3></td></tr>

           </table>
           <textarea rows="15" cols="150" style="border:none">'.$string.'</textarea>';
   }

$string=encrypt($string,$key);

if ($string == ""){ 
   echo "";
}
if ($string != ""){
       echo '
           <h2>Information:</h2>
           <table border="0" style="font-family:Courier" >
               <tr><td><h3><b>Message:</b></h3></td><td><
i>Useless</i><br></td></tr>
               <tr><td><h3><b>Keyword:</b></h3></td><td>- <i>'.$key.'</i><br></td></tr
               <tr><td><h3><b>Encrypted:</b></h3></td></tr>

           </table>
           <textarea rows="15" cols="150" style="border:none">'.$string.'</textarea>';
   }
?>

 

Håper det hjalp!

 

Ducky :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...