Народ, как правильно шифровать данные?
Подойдут : статьи(желательно с кодами), исходники, кусочки из ваших исходников(freewar'ных прог)
Ну и сами что-нить напишите.
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
2 FleX_2004
Djn ns phz nfr yfgbcfk/ Vj;tn xtkjdtr gjlevftn? xnj nen ibahjdrf MD5 bkb to` rhext ^))
Yflj d ajhevt ghbrhtgbnm xtnsht ntvs^ @Ibahjdfybt@? @Gthtxtym b pfdthitybt ghjwtccjd@? @Cj[hfytybt hbceyrf d JPEG b GIF ajhvfns@ b @Hf,jnf c Winsock@/ B yfcnegbn njulf cxfcnmt ^)///
Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 114