Страница: 1 |
|
Вопрос: можно ли периделать с VB на VB.NET
|
Добавлено: 27.12.05 12:02
|
|
Автор вопроса: Юра
|
Вот такой код, это шивровка и рассшифровка с использованием пароля, этот кодя взял с Библитеки кодов.
Public Function Encrypt(ByVal Source As String, ByVal Password As String) As String 'шифрование данных
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim lentext As Long
Dim lenpass As Long
Dim cn As Long
'ввод исходных данных
'исходный текст для шифрования - запрашивается от пользователя, к примеру -
a = Source
'пароль: может запрашиваться от пользователя
b = Password
'итог шифрования
c = ""
'узнаем длины каждой из строк
lentext = Len(a)
lenpass = Len(b)
'собственно шифрование
For cn = 1 To lentext
'в этой строке разберитесь сами, здесь попросту выполняется функция Xor с каждым символом исходной строки и соответствующим символом пароля, как бы "повторенным" на всю длину исходного текста. Mid берет из середины строки символ, Asc - превращает его в ASCII-код, Str - превращает число в строку, Trim - удаляет пробелы
d = Trim(Str(Asc(Mid(a, cn, 1)) Xor Asc(Mid(b, ((cn - 1) Mod lenpass) + 1, 1))))
'а теперь сделаем так, чтобы каждый символ занимал ровно три позиции, вне зависимости от величины его ASCII-кода. А иначе как вы будете потом при расшифровке разбивать строку на символы?
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
'в итоге в переменной с - зашифрованная строка, каждой исходной букве соответствует 3 символа, ее можно записать в любое место - в документ, к примеру:
Encrypt = c
End Function
Public Function Decrypt(ByVal Code As String, ByVal Password As String) As String 'расшифровывание данных
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim lentext As Long
Dim lenpass As Long
Dim cn As Long
'строка для расшифровки
c = Code
'пароль
b = Password
'итог расшифровывания
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
'в итоге в переменной a - расшифрованная строка, ее можно записать в любое место - в документ, к примеру:
Decrypt = a
End Function
Private Sub Command1_Click()
Text1 = Encrypt("никому не скажу", "parol")
End Sub
Private Sub Command2_Click()
Text1 = Decrypt(Text1, "parol")
End Sub
Как я понял что это для VB6 (потому что на форму нужно добавиться было написанно ComboButton, а такого вроде бы вVB.NET нету! ) а мне в институте далико такую же прогу только сделать на VB.NET и что то у меня не получаеться т.к. я мало пока что сооброжаю в программирование.
Если кто занет как это можно сделать подскажите пожалуйста
Ответить
|
Номер ответа: 3 Автор ответа: Юра
Вопросов: 1 Ответов: 1
|
Профиль | | #3
|
Добавлено: 27.12.05 14:25
|
Павел А не могли бы вы дать ссылку на эту статью..
Спасибо
Ответить
|
Страница: 1 |
Поиск по форуму