Вот такая ситуация:
Надо передать другу (знакомому, маме, да кому угодно) какую-либо конфиденциальную информацию через интернет. По аське? Так просто взять и выслать пароль от webmoney? Ненадежно.. По телефону? «К большая, а маленькая, 786, F большая, тьфу, маленькая» — таким образом хорошего мало выйдет. Но есть программы для шифрования! Взяли пароль (а можно и не пароль, да что угодно, хоть послание девушке ) воткнули его в программу, ввели желаемый пароль шифрования и получили зашифрованный текст! Отправили кому надо.
Например слово «Привет» в зашифрованном виде с паролем «123» выглядит как:
254194219211215193
и кто поймет что это «Привет»?
Начнем:)
создадим проект «Standart EXE» в Визуал Бейсике и поставим на форму 2 кнопки и одно текстовое поле. Сразу у текстового поля изменим свойство multiline=true
Теперь пишем исходный код для шифровки текста:
Public Function Encrypt(ByVal Source As String, ByVal Password As String) As String 'шифрование данных Dim a, b, c, d As String Dim lentext, lenpass, cn As Long a = Text1.Text b = InputBox("Введите пароль") c = "" lentext = Len(a) lenpass = Len(b) For cn = 1 To lentext d = Trim(Str(Asc(Mid(a, cn, 1)) Xor Asc(Mid(b, ((cn - 1) Mod lenpass) + 1, 1)))) Select Case Val(d) Case 0 To 9: d = "00" + d Case 10 To 99: d = "0" + d End Select c = c + d Next cn Encrypt = c End Function Public Function Decrypt(ByVal Code As String, ByVal Password As String) As String 'расшифровывание данных Dim a, b, c, d As String Dim lentext, lenpass, cn As Long c = Text1.Text b = InputBox("Введите пароль") a = "" lentext = Len(c) lenpass = Len(b) For cn = 1 To lentext Step 3 a = a + Chr(Val(Mid(c, cn, 3)) Xor Asc(Mid(b, (Int(cn / 3) Mod lenpass) + 1, 1))) Next cn Decrypt = a End Function Private Sub Command1_Click() Text1 = Encrypt("text1", "parol") End Sub Private Sub Command2_Click() Text1 = Decrypt(Text1, "parol") End Sub
Готовый проект «шифровка текста»:
shifr.rar (745 bytes, 852 hits)
Comments ( 0 )