Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 | 3 |

 

  Вопрос: Шифратор текста по ключу Добавлено: 29.04.06 02:06  

Автор вопроса:  ZXC

Ответить

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

Номер ответа: 16
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #16 Добавлено: 30.04.06 00:50
проблема или в открытии файла

Именно в этом! При открытии необходимо указать кодировку...

Ответить

Номер ответа: 17
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #17 Добавлено: 30.04.06 01:17
подскажи как :) как кодировку указывать?

Ответить

Номер ответа: 18
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #18 Добавлено: 30.04.06 01:38
Меня эти сроки вообще убили - получается, что ты внутрь функций даже не заглянул!
Я сделал через Ж..., но ты меня переплюнул!

что тебя тут убило? ВСЁ работает, но только с инглиш теккстом, и чо я должен увидать на скрине? русский текст из текстовых полей КРИПТУЕТЬСЯ А У МЕНЯ ИЗ ФАЙЛАА! есть вообщето разница, а то что из текстовых полей я знал и без скринов


Эту багу мелкомягкие специально вшили в VB.Net (на C# подобное не знамечено), в связи с повышенной активностью российских хакеров, чтобы пресечь написание вирусов под Windows Vista.

ЛОЛ %)) это гон полный это вообще х.з как назвать...

 
Мля, ну вот знал же, что не надо давать сырой код.


Код нармальный т.к всё работает просто гон с русским текстом...

кстати насчёт кода, а можно заменить ироглифы которые он шифрует на чтонибуть по лучше? :) или это от ключа зависит? я мало чо понял в коде т.к юзаю ВБ.НЕТ пару дней

Ответить

Номер ответа: 19
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #19 Добавлено: 30.04.06 02:32
Лучше бы ты всё-таки сделал по-нормальному и закинул пример сюда - для народного пользования...

Neco, я не буду приводить все свои перегруженные функции (кодировка строки,файла) приведу только самое основное. Остальное, если понравится-доделаешь..

Imports System.Text
Imports System.Security.Cryptography

Public Class Security

    Public Shared Function Crypt(ByVal Password As String, ByVal Data() As Byte, ByVal Encrypt As Boolean) As Byte()

        Dim Key As Byte() = Nothing
        Dim IV As Byte() = Nothing
        Dim outputBuffer() As Byte = Nothing
        Dim DESProvider As New TripleDESCryptoServiceProvider
        Dim BlockSizeBits As Integer = DESProvider.BlockSize

        Dim KeySizeBits As Integer = 0
        For i As Integer = 1024 To 1 Step -1
            If DESProvider.ValidKeySize(i) Then
                KeySizeBits = i
                Exit For
            End If
        Next i

        GetKeyAndIV(Password, KeySizeBits, BlockSizeBits, Key, IV)

        Dim CryptoTransform As ICryptoTransform
        If Encrypt Then
            CryptoTransform = DESProvider.CreateEncryptor(Key, IV)
        Else
            CryptoTransform = DESProvider.CreateDecryptor(Key, IV)
        End If

        outputBuffer = CryptoTransform.TransformFinalBlock(Data, 0, Data.Length)

        CryptoTransform.Dispose()
        Return outputBuffer

    End Function

    Public Shared Function StringToBytes(ByVal Value As String) As Byte()
        Return Encoding.UTF8.GetBytes(Value)
    End Function

    Public Shared Function BytesToString(ByVal Value As Byte()) As String
        Return Encoding.UTF8.GetString(Value)
    End Function

    Private Shared Sub GetKeyAndIV(ByVal password As String, ByVal key_size_bits As Integer, ByVal BlockSizeBits As Integer, ByRef Key As Byte(), ByRef iv As Byte())
        Dim password_derive_bytes As New PasswordDeriveBytes(password, Nothing, "SHA384", 1000)
        Key = password_derive_bytes.GetBytes(key_size_bits \ 8)
        iv = password_derive_bytes.GetBytes(BlockSizeBits \ 8)
    End Sub

End Class

Ответить

Номер ответа: 20
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #20 Добавлено: 30.04.06 02:37
как кодировку указывать?


Public Shared Function ReadAllText(ByVal path As String, ByVal encoding As System.Text.Encoding) As String
     Member of: System.IO.File
Summary:
Opens a file, reads all lines of the file with the specified encoding, and then closes the file.

Parameters:
encoding: The encoding applied to the contents of the file.
path: The file to open for reading.

Return Values:
A string array containing all lines of the file.


        Dim MyText As String = System.IO.File.ReadAllText("C:\Test.txt", System.Text.Encoding.GetEncoding(1251))

Ответить

Номер ответа: 21
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #21 Добавлено: 30.04.06 02:41
Neco, и чтоб не мучался-код формы

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim MyPass As String = "Твой пароль"
        Dim MyData As String = "Тестовые данные для кодирования"
        Dim Result() As Byte = Security.Crypt(MyPass, Security.StringToBytes(MyData), True)

        MessageBox.Show(Encoding.UTF8.GetString(Result), "Результат кодирования", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Result = Security.Crypt(MyPass, Result, False)

        MessageBox.Show(Security.BytesToString(Result), "Исходные данные", MessageBoxButtons.OK, MessageBoxIcon.Information)

    End Sub

Ответить

Номер ответа: 22
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #22 Добавлено: 30.04.06 03:37
EROS
Яфункцию декрюпт не падкинеш? :) а то как расшифровать то?

Ответить

Номер ответа: 23
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #23 Добавлено: 30.04.06 03:46
EROS
Я попробовал, кодировка не работает :( низнаю почему...подкинь свою функцию расшифровки, я твою гляну :) спасиб за ранее

Ответить

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



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #24
Добавлено: 30.04.06 07:31
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim buf() As Byte
        buf = Encoding.Unicode.GetBytes("Мой текст на русском";)

        Dim arrKey, arrIV As Byte()

        arrKey = New Byte() {1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4}
        arrIV = New Byte() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}

        Dim trans As ICryptoTransform = (New RijndaelManaged).CreateEncryptor(arrKey, arrIV)
        Dim f As New IO.FileStream("d:\1.txt", IO.FileMode.OpenOrCreate)
        Dim cmp As New IO.Compression.GZipStream(f, IO.Compression.CompressionMode.Compress)
        Dim crypt As New CryptoStream(cmp, trans, CryptoStreamMode.Write)

        crypt.Write(buf, 0, buf.Length)

        crypt.FlushFinalBlock()
        crypt.Dispose()
        cmp.Dispose()
        f.Dispose()

        trans = (New RijndaelManaged).CreateDecryptor(arrKey, arrIV)
        f = New IO.FileStream("d:\1.txt", IO.FileMode.Open)
        cmp = New IO.Compression.GZipStream(f, IO.Compression.CompressionMode.Decompress)
        crypt = New CryptoStream(cmp, trans, CryptoStreamMode.Read)
        ReDim buf(5000)
        ReDim Preserve buf(crypt.Read(buf, 0, 5000))
        MsgBox(Encoding.Unicode.GetString(buf))
        crypt.Dispose()
        cmp.Dispose()
        f.Dispose()
    End Sub

Ответить

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



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #25
Добавлено: 30.04.06 07:48
2EROS: О! Хороший код - респект!

Ответить

Номер ответа: 26
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #26 Добавлено: 30.04.06 11:31
А функцию декрюпт не падкинеш? :) а то как расшифровать то?

ZXC,ты вообще код смотрел-то??? Старик.. так нельзя.. Тебе дали все, что нужно!! А тебе даже в коде разобраться ЛЕНЬ!!! Эта ф-я делает и Crypt и DeCrypt.. надо лишь в качестве последнего параметра передать False! В ответе №21 я показал, как пользоваться этим классом!

Ответить

Номер ответа: 27
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #27 Добавлено: 30.04.06 11:37
Я попробовал, кодировка не работает :( низнаю почему

Кодировка НЕработать не может! Это ты сам накосячил где-то!
Скорее всего.. ты текстовый файл создавал в Notepad, а он по-умолчанию сохраняет файлы в кодировке ANSI.. отсюда и все твои беды.. Либо сохрание его в UTF8, либо переделай код открытия файла под кодировку ANSI..

Ответить

Номер ответа: 28
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #28 Добавлено: 30.04.06 18:24
EROS РЕСПЕКТ!!!!!!!!!!!!!! точно! сохранил в UTF8 и ВСЁ работает!!!! спасибо тебе за всё и за код а также спасибо Neco, молодцы ребята!

Ответить

Номер ответа: 29
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #29 Добавлено: 11.05.06 14:02
XOR хорошо шифрует. Только взламывается быстро. Короче если работаешь с ламьем, тебе подойдет. гугла все расскажет.
Можно взять что-нибудь покруче. Например Blowfish. Ае сли надо шифровать TCP или UDP канал бери ZeBeDee2

Ответить

Номер ответа: 30
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #30 Добавлено: 12.05.06 11:44
Например Blowfish

Я хотел сделать какойнибуть известный алгоритм, но не знаю как :) не подскажеш? как тем же Blowfish зашифровать текст?

Ответить

Страница: 1 | 2 | 3 |

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



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