Nuffilein805 Posted October 27, 2005 Share Posted October 27, 2005 (edited) 1st of all: they are not really safe, but nice to look at - sometimes quite handy you can use them for whatever you need them i'm trying to do some more antique methods of crypting, so if you know some, feel free to tell me (even with pm), just the name should be enough, cause google is my friend i'm not posting the code here, because it's quite long the methods i did by now are: atbash vigniere rot13/128 caesar (square-code) there is just a little problem with the vigniere-cipher: if you don't use the advanced-mode (1) then you got a problem with "," ".",... so i suggest if you use it better use the advanced-mode next project: caesar with just moving the letters + little demo (testi444.au3) + code expandcollapse popup;===============atbash=============== ;$atbash_text = the textinput ;$atbash_advanced = the number of chars replaced ;0 = only letters (default) ;1 = all 256 chars ;===============atbash=============== func atbash($atbash_text, $atbash_advanced=0) if $atbash_advanced = 0 Then $atbash_letters = StringSplit(stringreplace($atbash_text, " ", ""), "") $atbash_max = $atbash_letters[0] + 1 dim $atbash_convert[$atbash_max] dim $atbash_output[$atbash_max] $atbash = "" For $atbash_i = 1 To $atbash_letters[0] step 1 $atbash_convert[$atbash_i] = asc ($atbash_letters[$atbash_i]) if $atbash_convert[$atbash_i] > 64 and $atbash_convert[$atbash_i] < 91 Then $atbash_output[$atbash_i] = 91 - $atbash_convert[$atbash_i] + 64 ElseIf $atbash_convert[$atbash_i] > 96 and $atbash_convert[$atbash_i] < 123 Then $atbash_output[$atbash_i] = 123 - $atbash_convert[$atbash_i] + 96 Else $atbash_output[$atbash_i] = $atbash_convert[$atbash_i] EndIf $atbash_output[$atbash_i] = chr($atbash_output[$atbash_i]) $atbash = $atbash & $atbash_output[$atbash_i] Next return $atbash ElseIf $atbash_advanced = 1 Then $atbash_letters = StringSplit($atbash_text, "") $atbash_max = $atbash_letters[0] + 1 dim $atbash_convert[$atbash_max] dim $atbash_output[$atbash_max] $atbash = "" For $atbash_i = 1 To $atbash_letters[0] step 1 $atbash_convert[$atbash_i] = asc ($atbash_letters[$atbash_i]) $atbash_output[$atbash_i] = 255 - $atbash_convert[$atbash_i] $atbash_output[$atbash_i] = Chr ($atbash_output[$atbash_i]) $atbash = $atbash & $atbash_output[$atbash_i] Next return $atbash EndIf EndFunc ;===============vigniere=============== ;$vigniere_text = the textinput ;$vigniere_encode = ec-/decode ;0 = encode ;1 = decode ;$vigniere_code = a code to en-/decode (default="CODE") ;$vigniere_advanced = the number of chars replaced ;0 = only letters (default) ;1 = all 256 chars ;===============vigniere=============== func vigniere($vigniere_text, $vigniere_encode, $vigniere_code="CODE", $vigniere_advanced=0) if $vigniere_advanced = 0 Then if $vigniere_encode = 1 Then $vigniere_plain = StringReplace ($vigniere_text, " ", "") $vigniere_plain_letters = StringSplit ($vigniere_plain, "") $vigniere_plain_code = StringReplace ($vigniere_code, " ", "") $vigniere_code_letters = StringSplit ($vigniere_plain_code, "") $vigniere_max_code = $vigniere_code_letters[0] + 1 dim $vigniere_convert[$vigniere_max_code] dim $vigniere_minus[$vigniere_max_code] for $vigniere_i = 1 to $vigniere_code_letters[0] step 1 $vigniere_convert[$vigniere_i] = Asc ($vigniere_code_letters[$vigniere_i]) if $vigniere_convert[$vigniere_i] > 64 and $vigniere_convert[$vigniere_i] < 90 Then $vigniere_minus[$vigniere_i] = $vigniere_convert[$vigniere_i] - 65 ElseIf $vigniere_convert[$vigniere_i] > 96 and $vigniere_convert[$vigniere_i] < 123 Then $vigniere_minus[$vigniere_i] = $vigniere_convert[$vigniere_i] - 97 EndIf Next $vigniere_max_plain = $vigniere_plain_letters[0] + 1 dim $vigniere_plain_convert[$vigniere_max_plain] dim $vigniere_output[$vigniere_max_plain] $vigniere_i = 0 $vigniere = "" For $vigniere_j = 1 to $vigniere_plain_letters[0] step 1 $vigniere_i = $vigniere_i + 1 $vigniere_plain_convert[$vigniere_j] = Asc ($vigniere_plain_letters[$vigniere_j]) if $vigniere_i > $vigniere_code_letters[0] Then $vigniere_i = $vigniere_i - $vigniere_code_letters[0] EndIf $vigniere_test = $vigniere_plain_convert[$vigniere_j] - $vigniere_minus[$vigniere_i] if $vigniere_test < 65 Then $vigniere_output[$vigniere_j] = $vigniere_plain_convert[$vigniere_j] + 26 - $vigniere_minus[$vigniere_i] ElseIf $vigniere_test > 89 and $vigniere_test < 97 Then $vigniere_output[$vigniere_j] = $vigniere_plain_convert[$vigniere_j] + 26 - $vigniere_minus[$vigniere_i] ElseIf $vigniere_plain_convert[$vigniere_j] > 96 and $vigniere_test < 91 Then $vigniere_output[$vigniere_j] = $vigniere_test + 26 Else $vigniere_output[$vigniere_j] = $vigniere_test EndIf $vigniere = $vigniere & chr($vigniere_output[$vigniere_j]) Next return $vigniere ElseIf $vigniere_encode = 0 Then $vigniere_plain = StringReplace ($vigniere_text, " ", "") $vigniere_plain_letters = StringSplit ($vigniere_plain, "") $vigniere_plain_code = StringReplace ($vigniere_code, " ", "") $vigniere_code_letters = StringSplit ($vigniere_plain_code, "") $vigniere_max_code = $vigniere_code_letters[0] + 1 dim $vigniere_convert[$vigniere_max_code] dim $vigniere_minus[$vigniere_max_code] for $vigniere_i = 1 to $vigniere_code_letters[0] step 1 $vigniere_convert[$vigniere_i] = Asc ($vigniere_code_letters[$vigniere_i]) if $vigniere_convert[$vigniere_i] > 64 and $vigniere_convert[$vigniere_i] < 90 Then $vigniere_minus[$vigniere_i] = $vigniere_convert[$vigniere_i] - 65 ElseIf $vigniere_convert[$vigniere_i] > 96 and $vigniere_convert[$vigniere_i] < 123 Then $vigniere_minus[$vigniere_i] = $vigniere_convert[$vigniere_i] - 97 EndIf Next $vigniere_max_plain = $vigniere_plain_letters[0] + 1 dim $vigniere_plain_convert[$vigniere_max_plain] dim $vigniere_output[$vigniere_max_plain] $vigniere_i = 0 $vigniere = "" For $vigniere_j = 1 to $vigniere_plain_letters[0] step 1 $vigniere_i = $vigniere_i + 1 $vigniere_plain_convert[$vigniere_j] = Asc ($vigniere_plain_letters[$vigniere_j]) if $vigniere_i > $vigniere_code_letters[0] Then $vigniere_i = $vigniere_i - $vigniere_code_letters[0] EndIf $vigniere_test = $vigniere_plain_convert[$vigniere_j] + $vigniere_minus[$vigniere_i] if $vigniere_test > 122 Then $vigniere_output[$vigniere_j] = $vigniere_plain_convert[$vigniere_j] - 26 + $vigniere_minus[$vigniere_i] ElseIf $vigniere_test > 90 and $vigniere_test < 97 Then $vigniere_output[$vigniere_j] = $vigniere_plain_convert[$vigniere_j] - 26 + $vigniere_minus[$vigniere_i] Else $vigniere_output[$vigniere_j] = $vigniere_test EndIf $vigniere = $vigniere & chr($vigniere_output[$vigniere_j]) Next return $vigniere EndIf ElseIf $vigniere_advanced = 1 Then if $vigniere_encode = 1 Then $vigniere_plain = $vigniere_text $vigniere_plain_letters = StringSplit ($vigniere_plain, "") $vigniere_plain_code = $vigniere_code $vigniere_code_letters = StringSplit ($vigniere_plain_code, "") $vigniere_max_code = $vigniere_code_letters[0] + 1 dim $vigniere_convert[$vigniere_max_code] dim $vigniere_minus[$vigniere_max_code] for $vigniere_i = 1 to $vigniere_code_letters[0] step 1 $vigniere_convert[$vigniere_i] = Asc ($vigniere_code_letters[$vigniere_i]) $vigniere_minus[$vigniere_i] = $vigniere_convert[$vigniere_i] + 1 if $vigniere_minus[$vigniere_i] > 255 Then $vigniere_minus[$vigniere_i] = $vigniere_minus[$vigniere_i] - 256 EndIf Next $vigniere_max_plain = $vigniere_plain_letters[0] + 1 dim $vigniere_plain_convert[$vigniere_max_plain] dim $vigniere_output[$vigniere_max_plain] $vigniere_i = 0 $vigniere = "" For $vigniere_j = 1 to $vigniere_plain_letters[0] step 1 $vigniere_i = $vigniere_i + 1 $vigniere_plain_convert[$vigniere_j] = Asc ($vigniere_plain_letters[$vigniere_j]) if $vigniere_i > $vigniere_code_letters[0] Then $vigniere_i = $vigniere_i - $vigniere_code_letters[0] EndIf $vigniere_test = $vigniere_plain_convert[$vigniere_j] - $vigniere_minus[$vigniere_i] if $vigniere_test < 0 Then $vigniere_output[$vigniere_j] = $vigniere_plain_convert[$vigniere_j] + 256 - $vigniere_minus[$vigniere_i] EndIf $vigniere_output[$vigniere_j] = $vigniere_test $vigniere = $vigniere & chr($vigniere_output[$vigniere_j]) Next return $vigniere ElseIf $vigniere_encode = 0 Then $vigniere_plain = $vigniere_text $vigniere_plain_letters = StringSplit ($vigniere_plain, "") $vigniere_plain_code = $vigniere_code $vigniere_code_letters = StringSplit ($vigniere_plain_code, "") $vigniere_max_code = $vigniere_code_letters[0] + 1 dim $vigniere_convert[$vigniere_max_code] dim $vigniere_minus[$vigniere_max_code] for $vigniere_i = 1 to $vigniere_code_letters[0] step 1 $vigniere_convert[$vigniere_i] = Asc ($vigniere_code_letters[$vigniere_i]) $vigniere_minus[$vigniere_i] = $vigniere_convert[$vigniere_i] + 1 if $vigniere_minus[$vigniere_i] > 255 Then $vigniere_minus[$vigniere_i] = $vigniere_minus[$vigniere_i] - 256 EndIf Next $vigniere_max_plain = $vigniere_plain_letters[0] + 1 dim $vigniere_plain_convert[$vigniere_max_plain] dim $vigniere_output[$vigniere_max_plain] $vigniere_i = 0 $vigniere = "" For $vigniere_j = 1 to $vigniere_plain_letters[0] step 1 $vigniere_i = $vigniere_i + 1 $vigniere_plain_convert[$vigniere_j] = Asc ($vigniere_plain_letters[$vigniere_j]) if $vigniere_i > $vigniere_code_letters[0] Then $vigniere_i = $vigniere_i - $vigniere_code_letters[0] EndIf $vigniere_test = $vigniere_plain_convert[$vigniere_j] + $vigniere_minus[$vigniere_i] if $vigniere_test > 255 Then $vigniere_output[$vigniere_j] = $vigniere_plain_convert[$vigniere_j] - 256 + $vigniere_minus[$vigniere_i] EndIf $vigniere_output[$vigniere_j] = $vigniere_test $vigniere = $vigniere & chr($vigniere_output[$vigniere_j]) Next return $vigniere EndIf EndIf EndFunc ;===============rot=============== ;$rot_text = the textinput ;$rot_advanced = the number of chars replaced ;0 = only letters (default) - rot_13 ;1 = all 256 chars - rot_128 ;===============rot=============== func rot($rot_text, $rot_advanced) $rot_letter = StringSplit ($rot_text, "") $rot_max = $rot_letter[0] + 1 dim $rot_output[$rot_max] dim $rot_convert[$rot_max] if $rot_advanced = 1 Then dim $rot_128 = "" for $rot_i = 1 to $rot_letter[0] step 1 $rot_convert[$rot_i] = Asc($rot_letter[$rot_i]) if $rot_convert[$rot_i] > -1 and $rot_convert[$rot_i] < 128 Then $rot_convert[$rot_i] = $rot_convert[$rot_i] + 128 $rot_output[$rot_i] = Chr($rot_convert[$rot_i]) ElseIf $rot_convert[$rot_i] > 127 and $rot_convert[$rot_i] < 256 Then $rot_convert[$rot_i] = $rot_convert[$rot_i] - 128 $rot_output[$rot_i] = Chr($rot_convert[$rot_i]) EndIf $rot_128 = $rot_128 & $rot_output[$rot_i] Next return $rot_128 ElseIf $rot_advanced = 0 Then dim $rot_13 = "" for $rot_i = 1 to $rot_letter[0] step 1 $rot_convert[$rot_i] = Asc($rot_letter[$rot_i]) if $rot_convert[$rot_i] > 64 and $rot_convert[$rot_i] < 78 Then $rot_convert[$rot_i] = $rot_convert[$rot_i] + 13 ElseIf $rot_convert[$rot_i] > 77 and $rot_convert[$rot_i] < 91 Then $rot_convert[$rot_i] = $rot_convert[$rot_i] - 13 ElseIf $rot_convert[$rot_i] > 96 and $rot_convert[$rot_i] < 110 Then $rot_convert[$rot_i] = $rot_convert[$rot_i] + 13 ElseIf $rot_convert[$rot_i] > 109 and $rot_convert[$rot_i] < 123 Then $rot_convert[$rot_i] = $rot_convert[$rot_i] - 13 ElseIf $rot_convert[$rot_i] = 0 Then $rot_convert[$rot_i] = 126 ElseIf $rot_convert[$rot_i] = 126 Then $rot_convert[$rot_i] = 0 EndIf $rot_output[$rot_i] = Chr($rot_convert[$rot_i]) $rot_13 = $rot_13 & $rot_output[$rot_i] Next return $rot_13 EndIf EndFunc ;===============caesar=============== ;$caesar_text = the textinput ;$caesar_encode = en-/decode ;0 = encode ;1 = decode ;===============caesar=============== func caesar($caesar_text, $caesar_encode) if $caesar_encode = 0 Then $caesar_len = StringLen ($caesar_text) $caesar_min = $caesar_len + 1 $caesar_diff = Sqrt ($caesar_len) if not IsInt ($caesar_diff) Then $caesar_diff = int ($caesar_diff) + 1 EndIf $caesar_square = $caesar_diff * $caesar_diff if $caesar_square > $caesar_len Then for $caesar_i = $caesar_min to $caesar_square step 1 $caesar_text = $caesar_text & " " Next EndIf for $caesar_loop = $caesar_diff to $caesar_diff step 1 $caesar_letter = StringSplit ($caesar_text, "") $caesar_max = $caesar_letter[0] + 1 $caesar = "" dim $caesar_output[$caesar_max] $caesar_j = 1 for $caesar_i = 1 to $caesar_letter[0] if $caesar_j > $caesar_letter[0] Then $caesar_j = $caesar_j - $caesar_letter[0] + 1 EndIf $caesar_output[$caesar_j] = $caesar_letter[$caesar_i] $caesar_j = $caesar_j + $caesar_diff Next for $caesar_j = 1 to $caesar_letter[0] step 1 $caesar = $caesar & $caesar_output[$caesar_j] Next Next return $caesar ElseIf $caesar_encode = 1 Then $caesar_len = StringLen ($caesar_text) $caesar_min = $caesar_len + 1 $caesar_diff = Sqrt ($caesar_len) if not IsInt ($caesar_diff) Then $caesar_diff = int ($caesar_diff) + 1 EndIf $caesar_square = $caesar_diff * $caesar_diff if $caesar_square > $caesar_len Then for $caesar_i = $caesar_min to $caesar_square step 1 $caesar_text = $caesar_text & " " Next EndIf for $caesar_loop = 3 to $caesar_diff step 1 $caesar_letter = StringSplit ($caesar_text, "") $caesar_max = $caesar_letter[0] + 1 $caesar = "" dim $caesar_output[$caesar_max] $caesar_j = 1 for $caesar_i = 1 to $caesar_letter[0] if $caesar_j > $caesar_letter[0] Then $caesar_j = $caesar_j - $caesar_letter[0] + 1 EndIf $caesar_output[$caesar_j] = $caesar_letter[$caesar_i] $caesar_j = $caesar_j + $caesar_diff Next for $caesar_j = 1 to $caesar_letter[0] step 1 $caesar = $caesar & $caesar_output[$caesar_j] Next $caesar_text = $caesar Next return $caesar EndIf EndFuncencryption.au3testi444.au3 Edited October 27, 2005 by Nuffilein805 my little chatmy little encryption toolmy little hidermy unsafe clickbot Link to comment Share on other sites More sharing options...
Nuffilein805 Posted October 27, 2005 Author Share Posted October 27, 2005 try to combine these functions (all in advanced) looks really funny who can read this? ·¥ÕÍñßÕ×¥Æâ¥ÔßÏ Å˯¼ßÆñÄ´Ñßâ¸ÊàÕß×ùÜÇ¡ß°ËÓ©´Ö¡´ß¿Ó°ÔÍ®ßßÑØñÈÌ®ßß 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