Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 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 и что то у меня не получаеться т.к. я мало пока что сооброжаю в программирование.
Если кто занет как это можно сделать подскажите пожалуйста

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Wolfrt



ICQ: 225421504 

Вопросов: 8
Ответов: 60
 Профиль | | #1 Добавлено: 27.12.05 13:12
Во первых в VB.net есть конвертор кода
если не получилось то надо идти в нихный магазин за книгой!

Ответить

Номер ответа: 2
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 27.12.05 13:14
Смотрите в разделе Статьи мою статью о симметричном шифровании в .NET.

Ответить

Номер ответа: 3
Автор ответа:
 Юра



Вопросов: 1
Ответов: 1
 Профиль | | #3 Добавлено: 27.12.05 14:25
Павел А не могли бы вы дать ссылку на эту статью..
Спасибо

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 27.12.05 14:43
http://www.vbnet.ru/articles/showarticle.aspx?id=124

Ответить

Номер ответа: 5
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #5
Добавлено: 27.12.05 22:49
Почему, когда я читаю последний абзац вопроса, мне на ум приходят "Цветы для Элджернона"?..

Ответить

Номер ответа: 6
Автор ответа:
 Nio



Вопросов: 15
Ответов: 115
 Web-сайт: www.fea.nxt.ru
 Профиль | | #6
Добавлено: 07.01.06 16:05
Видимо, из-за контраста между тем, что написано на VB, и тем, что по-русски. Ну, это ещё ничего: хоть от клавиатуры человек пока не отказался :)

Ответить

Номер ответа: 7
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #7 Добавлено: 11.01.06 18:40
Applman perehod na VBnET
Ja kupil !!!!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам