Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

TextKoder


Rekomendowane odpowiedzi

Opublikowano

To jest jeden z moich pierwszych i najlepszych programów.

 

Phoenix_PL TextKoder v2.0

 

Zasada działania: Szyfruje tekst 4 metodami. W wersji 2.0 dodałem odczytywanie ustawień z pliku .ini.

 

Kod:

 

 

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_LegalCopyright=Phoenix_PL
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <String.au3>
#include <Crypt.au3>
Opt ("GuiOnEventMode", 1)
$txtcoder = GUICreate("TextKoder", 295, 286, 192, 114)
$zakladki = GUICtrlCreateTab(0, 0, 289, 25)
GUICtrlCreateTabItem("Szyfrowanie")
$text_code = GUICtrlCreateEdit("", 0, 32, 289, 121)
GUICtrlSetData(-1, "Tekst do zaszyfrowania")
$code = GUICtrlCreateButton("Szyfruj", 0, 192, 291, 25)
$exit1 = GUICtrlCreateButton("Wyjscie", 0, 256, 291, 25)
$copy = GUICtrlCreateButton("Kopiuj tekst", 0, 160, 75, 25)
$paste = GUICtrlCreateButton("Wklej tekst", 216, 160, 75, 25)
$status_code = GUICtrlCreateLabel("Status: Czekam...", 80, 160, 127, 25)
$clear_code = GUICtrlCreateButton("Czysć okno", 0, 224, 291, 25)
GUICtrlCreateTabItem("Deszyfrowanie")
$text_decode = GUICtrlCreateEdit("", 0, 32, 289, 121)
GUICtrlSetData(-1, "Tekst do deszyfrowania")
$decode = GUICtrlCreateButton("Deszyfruj", 0, 192, 291, 25)
$exit2 = GUICtrlCreateButton("Wyjscie", 0, 256, 291, 25)
$copy2 = GUICtrlCreateButton("Kopiuj tekst", 0, 160, 75, 25)
$paste2 = GUICtrlCreateButton("Wklej tekst", 216, 160, 75, 25)
$status_decode = GUICtrlCreateLabel("Status: Czekam...", 80, 160, 127, 25)
$clear_decode = GUICtrlCreateButton("Czysć okno", 0, 224, 291, 25)
GUICtrlCreateTabItem("Opcje")
$code_rev = GUICtrlCreateCheckbox("Odwróć tekst", 8, 56, 281, 17)
$Label1 = GUICtrlCreateLabel("Metody szyfrowania/deszyfrowania", 8, 32, 169, 17)
$code_hex = GUICtrlCreateCheckbox("Przekonwertuj na Hex", 8, 80, 281, 17)
$code_key = GUICtrlCreateCheckbox("Szyfruj kluczem (znacznie przedłuża czas szyfrowania)", 8, 128, 281, 17)
$code_bin = GUICtrlCreateCheckbox("Przekonwertuj na kod binarny", 8, 104, 281, 17)
$keycode = GUICtrlCreateInput("Domyslny klucz szyfrowania", 8, 176, 273, 21)
$Label2 = GUICtrlCreateLabel("Klucz szyfrowania", 8, 152, 88, 17)
$inisave = GUICtrlCreateButton("Zapisz ustawienia do pliku", 8, 224, 187, 25)
$exit3 = GUICtrlCreateButton("Wyjscie", 208, 256, 75, 25)
$iniread = GUICtrlCreateButton("Wczytaj ustawienia z pliku", 8, 256, 187, 25)
$keyinfo = GUICtrlCreateButton("^---Info", 232, 200, 51, 17)
GUISetOnEvent ($GUI_EVENT_CLOSE, "quit")
GUICtrlSetOnEvent ($exit1, "quit")
GUICtrlSetOnEvent ($exit2, "quit")
GUICtrlSetOnEvent ($exit3, "quit")
GUICtrlSetOnEvent ($copy, "kopiuj_code")
GUICtrlSetOnEvent ($paste, "wklej_code")
GUICtrlSetOnEvent ($copy2, "kopiuj_decode")
GUICtrlSetOnEvent ($paste2, "wklej_decode")
GUICtrlSetOnEvent ($clear_code, "czysc_code")
GUICtrlSetOnEvent ($clear_decode, "czysc_decode")
GUICtrlSetOnEvent ($inisave, "_saveini")
GUICtrlSetOnEvent ($code, "crypt")
GUICtrlSetOnEvent ($decode, "decrypt")
GUICtrlSetOnEvent ($keyinfo, "_kinf")
GUICtrlSetOnEvent ($iniread, "_iniread")
GuiSetState(@SW_SHOW)

$key = ("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!@#$%^&*()-=[]\;',./_+{}|:<>?ę?óąłźćń")
$mem = ("")
$nth = ("")

If FileExists (@ScriptDir&"/options.tc_set") Then
$ini_rev = IniRead (@ScriptDir&"/options.tc_set", "default_options", "reverse", 0)
$ini_hex = IniRead (@ScriptDir&"/options.tc_set", "default_options", "hex", 0)
$ini_bin = IniRead (@ScriptDir&"/options.tc_set", "default_options", "bin", 0)
$ini_keycrypting = IniRead (@ScriptDir&"/options.tc_set", "default_options", "keycrypting", 0)
$ini_cryptkey = IniRead (@ScriptDir&"/options.tc_set", "default_key", "cryptkey", "Domyslny klucz szyfrowania")
$ini_inikey = IniRead (@ScriptDir&"/options.tc_set", "ini_crypting_key", "inikey", "default")

If $ini_rev = 1 Then
GUICtrlSetState ($code_rev, $GUI_CHECKED)
EndIf

If $ini_hex = 1 Then
GUICtrlSetState ($code_hex, $GUI_CHECKED)
EndIf

If $ini_bin = 1 Then
GUICtrlSetState ($code_bin, $GUI_CHECKED)
EndIf

If $ini_keycrypting = 1 Then
GUICtrlSetState ($code_key, $GUI_CHECKED)
EndIf

GUICtrlSetData ($keycode, $ini_cryptkey)

MsgBox (64, "Informacja", "Odczytano ustawienia początkowe"&@CRLF&"Przed rozpoczęciem szyfrowania, zajrzyj w zakładkę ""Opcje""!")
Else
MsgBox (16, "Krytyczny błąd!", "Nie udało się odczytać ustawień początkowych! Stwórz plik ustawień!")
Exit
EndIf

Func _kinf()
MsgBox (64, "Informacja o kluczu szyfrowania", "Jesli zostawisz powyzsze pole puste, albo go nie zmienisz, to zostanie uzyty domyslny klucz szyfrowania tekstu")
EndFunc

Func _saveini()
$tmp_rev = 0
$tmp_hex = 0
$tmp_bin = 0
$tmp_key = 0
$tmp_cryptkey = GUICtrlRead ($keycode)

If $tmp_cryptkey = ("Domyslny klucz szyfrowania") or $tmp_cryptkey = ("") Then
$tmp_cryptkey = $key
EndIf

$tmp = FileSaveDialog ("Poszukiwanie miejsca do zapisu ustawień", @ScriptDir, "Pliki konfig. TextKodera (*.tc_set)")
StringReplace ($tmp, "|", "\")
$filename = ($tmp&".ini")

If FileExists ($tmp) Then
$filename = $tmp
FileDelete ($tmp)
EndIf

If BitAND (GUICtrlRead ($code_rev), $GUI_CHECKED) = $GUI_CHECKED Then
$tmp_rev = 1
EndIf

If BitAND (GUICtrlRead ($code_hex), $GUI_CHECKED) = $GUI_CHECKED Then
$tmp_hex = 1
EndIf

If BitAND (GUICtrlRead ($code_bin), $GUI_CHECKED) = $GUI_CHECKED Then
$tmp_bin = 1
EndIf

If BitAND (GUICtrlRead ($code_key), $GUI_CHECKED) = $GUI_CHECKED Then
$tmp_key = 1
EndIf

IniWrite ($filename, "crypt_settings", "string_reverse", $tmp_rev)
IniWrite ($filename, "crypt_settings", "string_to_hex", $tmp_hex)
IniWrite ($filename, "crypt_settings", "string_to_binary", $tmp_bin)
IniWrite ($filename, "crypt_settings", "string_keycrypt", $tmp_key)
IniWrite ($filename, "crypt_key", "key", $tmp_cryptkey)

$crypted_filename = ($tmp&".tc_set")
_Crypt_EncryptFile ($filename, $crypted_filename, $ini_inikey, $CALG_AES_256)
FileDelete ($filename)

If $tmp = ("") Then
MsgBox (64, "Informacja", "Nie udało się zapisać ustawień!")
Else
MsgBox (64, "Informacja", "Zapisano ustawienia!")
EndIf
EndFunc

Func _iniread()
$tmp = FileOpenDialog ("Poszukiwanie pliku z ustawieniami", @ScriptDir, "Pliki konfig. TextKodera (*.tc_set)", 3)
StringReplace ($tmp, "|", "\")

$tmp_decrypt = ($tmp&".tc_tmp")
_Crypt_DecryptFile ($tmp, $tmp_decrypt, $ini_inikey, $CALG_AES_256)

$tmp_rev = IniRead ($tmp_decrypt, "crypt_settings", "string_reverse", "error")
$tmp_hex = IniRead ($tmp_decrypt, "crypt_settings", "string_to_hex", "error")
$tmp_bin = IniRead ($tmp_decrypt, "crypt_settings", "string_to_binary", "error")
$tmp_key = IniRead ($tmp_decrypt, "crypt_settings", "string_keycrypt", "error")
$tmp_cryptkey = IniRead ($tmp_decrypt, "crypt_key", "key", "error")

If $tmp_rev = ("error") Then
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nie mozna znaleźć klucza ""string_reverse""!")
ElseIf $tmp_rev = 1 Then
GUICtrlSetState ($code_rev, $GUI_CHECKED)
ElseIf $tmp_rev = 0 Then
GUICtrlSetState ($code_rev, $GUI_UNCHECKED)
Else
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nieprawidłowa wartosć klucza ""string_reverse""("&$tmp_rev&")!")
EndIf

If $tmp_bin = ("error") Then
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nie mozna znaleźć klucza ""string_to_binary""!")
ElseIf $tmp_bin = 1 Then
GUICtrlSetState ($code_bin, $GUI_CHECKED)
ElseIf $tmp_bin = 0 Then
GUICtrlSetState ($code_bin, $GUI_UNCHECKED)
Else
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nieprawidłowa wartosć klucza ""string_to_binary""("&$tmp_bin&")!")
EndIf

If $tmp_hex = ("error") Then
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nie mozna znaleźć klucza ""string_to_hex""!")
ElseIf $tmp_hex = 1 Then
GUICtrlSetState ($code_hex, $GUI_CHECKED)
ElseIf $tmp_hex = 0 Then
GUICtrlSetState ($code_hex, $GUI_UNCHECKED)
Else
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nieprawidłowa wartosć klucza ""string_to_hex""("&$tmp_hex&")!")
EndIf

If $tmp_key = ("error") Then
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nie mozna znaleźć klucza ""string_keycrypt""!")
ElseIf $tmp_key = 1 Then
GUICtrlSetState ($code_key, $GUI_CHECKED)
ElseIf $tmp_key = 0 Then
GUICtrlSetState ($code_key, $GUI_UNCHECKED)
Else
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nieprawidłowa wartosć klucza ""string_keycrypt""("&$tmp_key&")!")
EndIf

If $tmp_cryptkey = $key Then
$tmp_cryptkey = ("Domyslny klucz szyfrowania")
ElseIf $tmp_cryptkey = ("error") Then
MsgBox (16, "Błąd!", "Plik ustawień uszkodzony!"&@CRLF&"Nie mozna znaleźć klucza ""key""!")
EndIf

GUICtrlSetData ($keycode, $tmp_cryptkey)
FileDelete ($tmp_decrypt)

If $tmp = ("") Then
MsgBox (64, "Informacja", "Nie udało się wczytać ustawień!")
Else
MsgBox (64, "Informacja", "Wczytano ustawienia!")
EndIf
EndFunc

Func quit()
GUICtrlSetData ($status_code, "Status: Zamykanie programu...")
GUICtrlSetData ($status_decode, "Status: Zamykanie programu...")
Exit
EndFunc

Func kopiuj_code()
GUICtrlSetData ($status_code, "Status: Kopiowanie")
$mem = GUICtrlRead ($text_code)
EndFunc

Func kopiuj_decode()
GUICtrlSetData ($status_decode, "Status: Kopiowanie")
$mem = GUICtrlRead ($text_decode)
GUICtrlSetData ($status_decode, "Status: Skopiowano, czekam...")
EndFunc

Func wklej_code()
GUICtrlSetData ($status_code, "Status: Wklejanie")
GUICtrlSetData ($text_code, $mem)
GUICtrlSetData ($status_code, "Status: Wklejono, czekam...")
EndFunc

Func wklej_decode()
GUICtrlSetData ($status_decode, "Status: Wklejanie")
GUICtrlSetData ($text_decode, $mem)
GUICtrlSetData ($status_decode, "Status: Wklejono, czekam...")
EndFunc

Func czysc_code()
GUICtrlSetData ($status_code, "Status: Czyszczenie ekranu")
GUICtrlSetData ($text_code, $nth)
GUICtrlSetData ($status_code, "Status: Wyczyszczono ekran, czekam...")
EndFunc

Func czysc_decode()
GUICtrlSetData ($status_decode, "Status: Czyszczenie ekranu")
GUICtrlSetData ($text_decode, $nth)
GUICtrlSetData ($status_decode, "Status: Wyczyszczono ekran, czekam...")
EndFunc

Func crypt()
If BitAND (GUICtrlRead ($code_key), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_code, "Status: Odczytywanie klucza szyfrowania")
$cryptkey = GUICtrlRead ($keycode)
If $cryptkey = ("") or $cryptkey = ("Domyslny klucz szyfrowania") Then
$cryptkey = $key
EndIf
EndIf

GUICtrlSetData ($status_code, "Status: Odczytywanie tekstu do zaszyfrowania")
$ctxt = GUICtrlRead ($text_code)

$revtxt = $ctxt
If BitAND (GUICtrlRead ($code_rev), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_code, "Status: Odwracanie tekstu")
$revtxt = _StringReverse ($ctxt)
EndIf

$hextxt = $revtxt
If BitAND (GUICtrlRead ($code_hex), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_code, "Status: Konwersja tekstu do Hex")
$hextxt = _StringToHex ($revtxt)
EndIf

$bintxt = $hextxt
If BitAND (GUICtrlRead ($code_bin), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_code, "Status: Konwersja tekstu na kod binarny")
$bintxt = StringToBinary ($hextxt)
EndIf

$endtxt = $bintxt
If BitAND (GUICtrlRead ($code_key), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_code, "Status: Szyfrowanie tekstu kluczem")
$endtxt = _StringEncrypt (1, $bintxt, $cryptkey)
EndIf

GUICtrlSetData ($status_code, "Status: Wklejanie tekstu do okna")
GUICtrlSetData ($text_code, $endtxt)
GUICtrlSetData ($status_code, "Status: Zaszyfrowano, czekam...")
EndFunc

Func decrypt()
If BitAND (GUICtrlRead ($code_key), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_decode, "Status: Odczytywanie klucza szyfrowania")
$cryptkey = GUICtrlRead ($keycode)
If $cryptkey = ("") or $cryptkey = ("Domyslny klucz szyfrowania") Then
$cryptkey = $key
EndIf
EndIf

GUICtrlSetData ($status_decode, "Status: Odczytywanie tekstu do zaszyfrowania")
$ctxt = GUICtrlRead ($text_decode)

$keycrypttxt = $ctxt
If BitAND (GUICtrlRead ($code_key), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_decode, "Status: Szyfrowanie tekstu kluczem")
$keycrypttxt = _StringEncrypt (0, $ctxt, $cryptkey)
EndIf

$bintxt = $keycrypttxt
If BitAND (GUICtrlRead ($code_bin), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_decode, "Status: Konwersja tekstu na kod binarny")
$bintxt = BinaryToString ($keycrypttxt)
EndIf

$hextxt = $bintxt
If BitAND (GUICtrlRead ($code_hex), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_decode, "Status: Konwersja tekstu do Hex")
$hextxt = _HexToString ($bintxt)
EndIf

$endtxt = $hextxt
If BitAND (GUICtrlRead ($code_rev), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData ($status_decode, "Status: Odwracanie tekstu")
$endtxt = _StringReverse ($hextxt)
EndIf

GUICtrlSetData ($status_decode, "Status: Wklejanie tekstu do okna")
GUICtrlSetData ($text_decode, $endtxt)
GUICtrlSetData ($status_decode, "Status: Zaszyfrowano, czekam...")
EndFunc

While 1
Sleep (100)
WEnd

 

 

W załączniku macie plik wymagany do odpalenia programu.

 

Piszcie co mogę jeszcze poprawić, i co o tym myślicie

options.zip

846331404756772371599.jpeg
Opublikowano

Tak ma działać :) Tekst można przekazać w pliku, i wystarczy przekazać zakodowany wcześniej automatycznie przez program plik ustawień, i drugi użytkownik może odczytać zaszyfrowane ustawienia, i dekodować wiadomość. Wcześniej trzeba było samemu (w wersji v1) przekazać ustawienia, a nowa metoda zapewnia 100% bezpieczeństwa (jeśli ktoś czegoś nie machnie podczas przesyłania pliku).

 

Jak będę miał czas, to zrobię buttony do wklejania/czytania tekstu z pliku, a teraz zrobię oneventa dla przycisku "x" na belce

846331404756772371599.jpeg
  • 1 rok później...
Opublikowano · Ukryte przez jackraymund, 27 Stycznia 2013 - Brak powodu
Ukryte przez jackraymund, 27 Stycznia 2013 - Brak powodu

wfpado f qnlwma bldsub ugg ??? myfkc opihox yiqchmb ugg ??? duox oojsbjb ugg ??? cctxm zqrdgf http://www.aguyahooindex.com/ aiqsxq hpmmby bggtkq w bmltgk vjnhfq ugg ??? fyufg naiqye uqvwwds ugg ??? rahi acfnihp ugg ??? gmxnu papvfg http://www.bootsyahooja.com/ gonuej wetsdv hfgxyl g stoiei wozmit ugg ??? sdivz dzrqve zrqapjr ugg ??? bnem uotxxsq ugg ??? uerev aahzlj http://www.uggyahoo365.com/ tkwpmj wbyjwf fqemka s eytoqz vfyxtw ??? ??? njzbo vtzyow ydqaadh ??? ??? ?????? uzcc xeehajp ??? ?? uhznl czpgeu http://coachmarketjp.com/ osfpsc ghucsx gpyidg r bcrbxl vukfwk ??? ?????? byvin izkkeb orezaqy ??? ??? ??? sbay pkxhzsg ??? ??? ?? bobtp pdwpzs http://coachmarketjp.com/ wakltc rhiyzl felwcc n dsicpd cusjsq ??? ??? usrog scqogk ifncopr ??? ??? ????? nkhx hpmudhd ??? ??? ?? vljaz fevlgz http://coachmarketjp.com/ oymfnh byrvfa

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...