Nuffilein805 Posted October 25, 2005 Share Posted October 25, 2005 (edited) hi again coded 1 more encryption/decryption-tool, but i don't know if i coded it right it's should be the vigniere cipher THIS 1 IS NOT SAFE! if you want to use it, do it on your own risk! here's the code: expandcollapse popup;vigniere $a = InputBox ("Test", "Insert text") $b = InputBox ("Test", "Insert code", "CODE") $c = vigniere($a, $b) msgbox (0, $a, $c) $d = unvigniere($c, $b) msgbox (0, $c, $d) func unvigniere($text, $code) $plain = StringReplace ($text, " ", "") $plain_letters = StringSplit ($plain, "") $plain_code = StringReplace ($code, " ", "") $code_letters = StringSplit ($plain_code, "") $max_code = $code_letters[0] + 1 dim $convert[$max_code] dim $minus[$max_code] for $i = 1 to $code_letters[0] step 1 $convert[$i] = Asc ($code_letters[$i]) if $convert[$i] > 64 and $convert[$i] < 90 Then $minus[$i] = $convert[$i] - 65 ElseIf $convert[$i] > 96 and $convert[$i] < 123 Then $minus[$i] = $convert[$i] - 97 EndIf Next $max_plain = $plain_letters[0] + 1 dim $plain_convert[$max_plain] dim $output[$max_plain] $i = 0 $vigniere = "" For $j = 1 to $plain_letters[0] step 1 $i = $i + 1 $plain_convert[$j] = Asc ($plain_letters[$j]) if $i > $code_letters[0] Then $i = $i - $code_letters[0] EndIf $test = $plain_convert[$j] - $minus[$i] if $test < 65 Then $output[$j] = $plain_convert[$j] + 26 - $minus[$i] ElseIf $test > 89 and $test < 97 Then $output[$j] = $plain_convert[$j] + 26 - $minus[$i] ElseIf $plain_convert[$j] > 96 and $test < 91 Then $output[$j] = $test + 26 Else $output[$j] = $test EndIf $vigniere = $vigniere & chr($output[$j]) Next return $vigniere EndFunc func vigniere($text, $code) $plain = StringReplace ($text, " ", "") $plain_letters = StringSplit ($plain, "") $plain_code = StringReplace ($code, " ", "") $code_letters = StringSplit ($plain_code, "") $max_code = $code_letters[0] + 1 dim $convert[$max_code] dim $minus[$max_code] for $i = 1 to $code_letters[0] step 1 $convert[$i] = Asc ($code_letters[$i]) if $convert[$i] > 64 and $convert[$i] < 90 Then $minus[$i] = $convert[$i] - 65 ElseIf $convert[$i] > 96 and $convert[$i] < 123 Then $minus[$i] = $convert[$i] - 97 EndIf Next $max_plain = $plain_letters[0] + 1 dim $plain_convert[$max_plain] dim $output[$max_plain] $i = 0 $vigniere = "" For $j = 1 to $plain_letters[0] step 1 $i = $i + 1 $plain_convert[$j] = Asc ($plain_letters[$j]) if $i > $code_letters[0] Then $i = $i - $code_letters[0] EndIf $test = $plain_convert[$j] + $minus[$i] if $test > 122 Then $output[$j] = $plain_convert[$j] - 26 + $minus[$i] ElseIf $test > 90 and $test < 97 Then $output[$j] = $plain_convert[$j] - 26 + $minus[$i] Else $output[$j] = $test EndIf $vigniere = $vigniere & chr($output[$j]) Next return $vigniere EndFunc added a little test in front as usual hope to get some feedbackvigniere2.au3 Edited October 25, 2005 by Nuffilein805 my little chatmy little encryption toolmy little hidermy unsafe clickbot Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now