Шифрование файлов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Шифрование файлов

Сообщение neic » 24.06.2005 (Пт) 22:53

Народ, как правильно шифровать данные? :? :?
Подойдут : статьи(желательно с кодами), исходники, кусочки из ваших исходников(freewar'ных прог)

Ну и сами что-нить напишите.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.06.2005 (Пт) 22:57

А ты был здесь и здесь?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 24.06.2005 (Пт) 23:15

Кхм BV а подробнее!

Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

Сообщение Sasha_karasov » 25.06.2005 (Сб) 4:07

neic писал(а):Кхм BV а подробнее!
Поиск рулит!
Удачи!
С уважением, Алексадр.

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 25.06.2005 (Сб) 11:18

Sasha_karasov
Великие слова Тёмыча!

НАРОД!!! НЕ ЗАСОРЯЕЙТЕ ТЕМУ, лучше пишите в тему!

Сообщения типа : Поиск рулит, не подходят!

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 25.06.2005 (Сб) 14:04

Наипримитивнейший способ
Код: Выделить всё
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


Посложнее http://vbgid.com.ru/arh/articles/005/192.html
Хотя и это далеко не предел... можно использовать API

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 26.06.2005 (Вс) 2:39

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 ^)///

для чтения этого можете пойди сюда
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 26.06.2005 (Вс) 10:29

Расшифровка

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 ^)///



Вот ты зря так написал. Может человек подумает, что тут шифровка ЬВ5 или ещё круче :))


Надо в форуме прикрепить четыре темы: "Шифрование", "Перечень и завершение процессов", "Сохранение рисунка в ОЗУП и ПША форматы" и "Работа с Цштыщсл". И наступит тогда счастье :)...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 26.06.2005 (Вс) 12:32

2 ALX_2002

Us! Njkmrj djn fyukbqcrbt ckjdf yt cnjbkj gthtdjlbnm ^)
Последний раз редактировалось BV 26.06.2005 (Вс) 18:40, всего редактировалось 1 раз.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 26.06.2005 (Вс) 17:56

Ibahjdfkmobrb ,kby :twisted: :twisted: :twisted:
Если всё делать своими ручками, они скоро отвалятся !

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 26.06.2005 (Вс) 18:39

Elj,ysq b (xnj cfvjt ukfdyjt) gjyznysq zpsr j,otybz ^)
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 28.06.2005 (Вт) 17:57

Народ, хорош мудрить :twisted:
На это не смотрите! Это не подпись!!!!!!

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 28.06.2005 (Вт) 20:39

А если кодом Хаффмана с наложением пароля на биты?..
Invalid user or password...

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 03.07.2005 (Вс) 18:46

Чево?
На это не смотрите! Это не подпись!!!!!!

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 03.07.2005 (Вс) 21:58

Alexander N. Samarin
Чево непонятно? Что такое кодирование Хаффмана или что?
Invalid user or password...

blinow
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 27.06.2005 (Пн) 3:13

Сообщение blinow » 04.07.2005 (Пн) 3:31


Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 04.07.2005 (Пн) 9:37

а есть у кого нить готовый исходничек шифрования... этого Хаффмана... хотя сматрю... этож просто архивирование данных... вах!! :lol:
On Fatal Error Resume Next


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 48

    TopList  
cron