Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

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

 

  Вопрос: "№*?&}sdp/#& - шифорвание и все о нем Добавлено: 04.06.08 02:37  

Автор вопроса:  __Pavel__ | Web-сайт: ммм.сайта.НЕТ
Доброго времени суток!

Решил написать свой алгоритм шифрования...
Опишите (хотя бы примерно) способы шифрования данных, коды не обязательно, но приветствуются =)

Спасибо!

Ответить

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

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


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 04.06.08 02:50
chr(asc(s$)+1)

:)

Ответить

Номер ответа: 2
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #2 Добавлено: 04.06.08 11:41
В серьез над такими вещами работают институты и университеты, профессура мат. наук и криптографы в частности.

Так что не стоит ерундой голову забивать :)

Хочешь обмануть дурака используй хотяб метод Хоффмана, где-то даже готовый класс есть.

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 04.06.08 12:06
да пару-тройку раз rc4 вполне хватит, чтоб не мучатся с aes :)

Ответить

Номер ответа: 4
Автор ответа:
 Boconon



ICQ: 216390557 

Вопросов: 25
Ответов: 71
 Web-сайт: microsoft.com
 Профиль | | #4
Добавлено: 04.06.08 19:16
Математика сие все есть.
Аж есмь любитель математики и свой алгоритм разрабатывать не смею, кольми паче ты, холоп в математике!
(с.) Иоанн Грозный

Ответить

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



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #5
Добавлено: 04.06.08 19:31
а мой алгоритм очень простой (не требующий знаний в математике), но ооооочень сложно будет его расшифровать... даже имея алгоритм =)

Ответить

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


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 06.06.08 02:22
та ну понятно, куда там Rijndael до твоего :)

Ответить

Номер ответа: 7
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #7
Добавлено: 07.06.08 11:13
Вот на проверку:

Эта строка зашифрована моим алгоритмом с простым ключем[/u
+мнфр]бюКьджя9Ч@бОТь %Ъ>п!н(#ИщЛМ+З$ЛсфрдТНлщЯь]ф5ОЁД0т

а теперь попробуйте расшифровать строку ниже сами (ключ тотже):
;З()МНдМчЗоу?фч3ж(0омЫф|З)]*Йр0=шж ъ%9х*Щ^

Ответить

Номер ответа: 8
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #8
Добавлено: 07.06.08 11:16
Ошибочка =)
вот это попробуйте расшифровать

Эта строка зашифрована моим алгоритмом с простым ключем
,я{&цл{&эПИм{;Т}ЩЫЭхЮ$ХЧ{цЕшОэ5ь}ВЛхЫФ&юИз}дрйв"&4аП?РГ


а теперь попробуйте расшифровать строку ниже сами (ключ тотже):
Тщшдч~[Ио%й-7В$2=шх@дЛХА%-?}Ор4юх0*ю$ёю`О&

Ответить

Номер ответа: 9
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #9 Добавлено: 07.06.08 11:29
Берем стандартный брутус, пачку словарей — кило на 20, RC4 до 3х раз.... на пару недель и готово :)

Ответить

Номер ответа: 10
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #10 Добавлено: 07.06.08 11:38
И вообще, павел зачем ты даешь строку без ключа? если мы сперли строку, то 99% сопретм и ключъ :D хитрец

Ответить

Номер ответа: 11
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #11
Добавлено: 07.06.08 11:42
а что вы хотели может вам прогу и ключ еще скинуть, тогда вам останется непосильная задача нажать на кнопку "Расшифровать" :)))
вот представьте что там зашифрован код доступа к пентагону... что будете делать?

Ответить

Номер ответа: 12
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #12
Добавлено: 07.06.08 12:03
а если вы думаете что сможете воссоздать алгоритм... проще простого, а вот ключ... ну давайте:

вот строка "..............." -> "УБ|б.*п|зо.Я\ЭО" дайте мне ключ!

P.S. пусть ученые и дальше ломают головы над совершенным алгоритмом!... все сложное не нужно, все нужное просто! ;)

Ответить

Номер ответа: 13
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #13 Добавлено: 07.06.08 19:33
вот для примера один из моих классов на базе АПИ


''''''''''''''''''''''''''''''''''''''''''''''
' Esempio: Crittografare i dati usando DPAPI '
''''''''''''''''''''''''''''''''''''''''''''''

Imports System
Imports System.Text
Imports System.Runtime.InteropServices
Imports System.ComponentModel
Imports Microsoft.VisualBasic


    Public Class DPAPI

        <;DllImport("crypt32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Private Shared Function CryptProtectData _
        ;( _
            ByRef pPlainText As DATA_BLOB, _
            ByVal szDescription As String, _
            ByRef pEntropy As DATA_BLOB, _
            ByVal pReserved As IntPtr, _
            ByRef pPrompt As CRYPTPROTECT_PROMPTSTRUCT, _
            ByVal dwFlags As Integer, _
            ByRef pCipherText As DATA_BLOB _
        ;) As Boolean
        End Function

        <;DllImport("crypt32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Private Shared Function CryptUnprotectData _
        ;( _
            ByRef pCipherText As DATA_BLOB, _
            ByRef pszDescription As String, _
            ByRef pEntropy As DATA_BLOB, _
            ByVal pReserved As IntPtr, _
            ByRef pPrompt As CRYPTPROTECT_PROMPTSTRUCT, _
            ByVal dwFlags As Integer, _
            ByRef pPlainText As DATA_BLOB _
        ;) As Boolean
        End Function

        <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
        Friend Structure DATA_BLOB
            Public cbData As Integer
            Public pbData As IntPtr
        End Structure

        <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
        Friend Structure CRYPTPROTECT_PROMPTSTRUCT
            Public cbSize As Integer
            Public dwPromptFlags As Integer
            Public hwndApp As IntPtr
            Public szPrompt As String
        End Structure

        Private Const CRYPTPROTECT_UI_FORBIDDEN As Integer = 1
        Private Const CRYPTPROTECT_LOCAL_MACHINE As Integer = 4

        Private Shared Sub InitPrompt _
        ;( _
            ByRef ps As CRYPTPROTECT_PROMPTSTRUCT _
        ;)
            ps.cbSize = Marshal.SizeOf(GetType(CRYPTPROTECT_PROMPTSTRUCT))
            ps.dwPromptFlags = 0
            ps.hwndApp = IntPtr.Zero
            ps.szPrompt = Nothing
        End Sub

        Private Shared Sub InitBLOB _
        ;( _
            ByVal data As Byte(), _
            ByRef blob As DATA_BLOB _
        ;)


            If data Is Nothing Then
                data = New Byte(0) {}
            End If

            blob.pbData = Marshal.AllocHGlobal(data.Length)

            If blob.pbData.Equals(IntPtr.Zero) Then
            Throw New Exception( _
                    "Impossibile allocare memoria per struttura BLOB";)
            End If

            blob.cbData = data.Length
            Marshal.Copy(data, 0, blob.pbData, data.Length)
        End Sub

        Public Enum KeyType
            UserKey = 1
            MachineKey
        End Enum

        Private Shared defaultKeyType As KeyType = KeyType.UserKey

        Public Shared Function Encrypt _
        ;( _
            ByVal plainText As String _
        ;) As String
            Return Encrypt(defaultKeyType, plainText, String.Empty, String.Empty)
        End Function

        Public Shared Function Encrypt _
        ;( _
            ByVal keyType As KeyType, _
            ByVal plainText As String _
        ;) As String
            Return Encrypt(keyType, plainText, String.Empty, String.Empty)
        End Function

        Public Shared Function Encrypt _
        ;( _
            ByVal keyType As KeyType, _
            ByVal plainText As String, _
            ByVal entropy As String _
        ;) As String
            Return Encrypt(keyType, plainText, entropy, String.Empty)
        End Function

        Public Shared Function Encrypt _
        ;( _
            ByVal keyType As KeyType, _
            ByVal plainText As String, _
            ByVal entropy As String, _
            ByVal description As String _
        ;) As String
            If plainText Is Nothing Then
                plainText = String.Empty
            End If
            If entropy Is Nothing Then
                entropy = String.Empty
            End If
            Return Convert.ToBase64String( _
                Encrypt(keyType, _
                        Encoding.UTF8.GetBytes(plainText), _
                        Encoding.UTF8.GetBytes(entropy), _
                        description))
        End Function

        Public Shared Function Encrypt _
        ;( _
            ByVal keyType As KeyType, _
            ByVal plainTextBytes As Byte(), _
            ByVal entropyBytes As Byte(), _
            ByVal description As String _
        ;) As Byte()

            If plainTextBytes Is Nothing Then
                plainTextBytes = New Byte(0) {}
            End If

            If entropyBytes Is Nothing Then
                entropyBytes = New Byte(0) {}
            End If

            If description Is Nothing Then
                description = String.Empty
            End If

            Dim plainTextBlob As DATA_BLOB = New DATA_BLOB
            Dim cipherTextBlob As DATA_BLOB = New DATA_BLOB
            Dim entropyBlob As DATA_BLOB = New DATA_BLOB

            Dim prompt As _
                    CRYPTPROTECT_PROMPTSTRUCT = New CRYPTPROTECT_PROMPTSTRUCT
            InitPrompt(prompt)

            Try

                Try
                    InitBLOB(plainTextBytes, plainTextBlob)
                Catch ex As Exception
                Throw New Exception("Impossibile inizializzare BLOB del testo.", ex)
                End Try
                Try
                    InitBLOB(entropyBytes, entropyBlob)
                Catch ex As Exception
                Throw New Exception("Impossibile inizializzare  BLOB della entropia.", ex)
                End Try
                Dim flags As Integer = CRYPTPROTECT_UI_FORBIDDEN
                If keyType = KeyType.MachineKey Then
                    flags = flags Or (CRYPTPROTECT_LOCAL_MACHINE)
                End If
                Dim success As Boolean = CryptProtectData( _
                                                plainTextBlob, _
                                                description, _
                                                entropyBlob, _
                                                IntPtr.Zero, _
                                                prompt, _
                                                flags, _
                                                cipherTextBlob)

                If Not success Then
                Dim errCode As Integer = Marshal.GetLastWin32Error()
                Throw New Exception("Errore CryptProtectData", _
                                New Win32Exception(errCode))
            End If

                Dim cipherTextBytes(cipherTextBlob.cbData) As Byte
                Marshal.Copy(cipherTextBlob.pbData, cipherTextBytes, 0, _
                                cipherTextBlob.cbData)
                Return cipherTextBytes
            Catch ex As Exception
            Throw New Exception("Impossibile cryptare dati", ex)
            Finally
                If Not (plainTextBlob.pbData.Equals(IntPtr.Zero)) Then
                    Marshal.FreeHGlobal(plainTextBlob.pbData)
                End If

                If Not (cipherTextBlob.pbData.Equals(IntPtr.Zero)) Then
                    Marshal.FreeHGlobal(cipherTextBlob.pbData)
                End If

                If Not (entropyBlob.pbData.Equals(IntPtr.Zero)) Then
                    Marshal.FreeHGlobal(entropyBlob.pbData)
                End If
            End Try
        End Function
    
        Public Shared Function Decrypt _
        ;( _
            ByVal cipherText As String _
        ;) As String
            Dim description As String
            Return Decrypt(cipherText, String.Empty, description)
        End Function

        Public Shared Function Decrypt _
        ;( _
            ByVal cipherText As String, _
            ByRef description As String _
        ;) As String
            Return Decrypt(cipherText, String.Empty, description)
        End Function

        Public Shared Function Decrypt _
        ;( _
            ByVal cipherText As String, _
            ByVal entropy As String, _
            ByRef description As String _
        ;) As String

            If entropy Is Nothing Then
                entropy = String.Empty
            End If

            Return Encoding.UTF8.GetString( _
                ;Decrypt(Convert.FromBase64String(cipherText), _
                        Encoding.UTF8.GetBytes(entropy), description))
        End Function

        Public Shared Function Decrypt _
        ;( _
            ByVal cipherTextBytes As Byte(), _
            ByVal entropyBytes As Byte(), _
            ByRef description As String _
        ;) As Byte()

            Dim plainTextBlob As DATA_BLOB = New DATA_BLOB
            Dim cipherTextBlob As DATA_BLOB = New DATA_BLOB
            Dim entropyBlob As DATA_BLOB = New DATA_BLOB

            Dim prompt As _
                    CRYPTPROTECT_PROMPTSTRUCT = New CRYPTPROTECT_PROMPTSTRUCT
            InitPrompt(prompt)

            description = String.Empty

            Try

                Try
                    InitBLOB(cipherTextBytes, cipherTextBlob)
                Catch ex As Exception
                Throw New Exception("Impossibile inizializzare  cipherTextBlob", ex)
                End Try


                Try
                    InitBLOB(entropyBytes, entropyBlob)
                Catch ex As Exception
                Throw New Exception("Impossibile inizializzare  entropyBlob", ex)
                End Try


                Dim flags As Integer = CRYPTPROTECT_UI_FORBIDDEN

                Dim success As Boolean = CryptUnprotectData( _
                                                cipherTextBlob, _
                                                description, _
                                                entropyBlob, _
                                                IntPtr.Zero, _
                                                prompt, _
                                                flags, _
                                                plainTextBlob)

                If Not success Then

                    Dim errCode As Integer = Marshal.GetLastWin32Error()

                Throw New Exception("Errore CryptUnprotectData", _
                                New Win32Exception(errCode))
                End If

                Dim plainTextBytes(plainTextBlob.cbData) As Byte


                Marshal.Copy(plainTextBlob.pbData, plainTextBytes, 0, _
                                plainTextBlob.cbData)

                Return plainTextBytes
            Catch ex As Exception
            Throw New Exception(";DPAPI non puo decrittare i dati", ex)

            Finally
                If Not (plainTextBlob.pbData.Equals(IntPtr.Zero)) Then
                    Marshal.FreeHGlobal(plainTextBlob.pbData)
                End If

                If Not (cipherTextBlob.pbData.Equals(IntPtr.Zero)) Then
                    Marshal.FreeHGlobal(cipherTextBlob.pbData)
                End If

                If Not (entropyBlob.pbData.Equals(IntPtr.Zero)) Then
                    Marshal.FreeHGlobal(entropyBlob.pbData)
                End If
            End Try
        End Function
    End Class

Ответить

Номер ответа: 14
Автор ответа:
 Smith



ICQ: ненавижу 

Вопросов: 28
Ответов: 317
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #14
Добавлено: 07.06.08 20:45
бтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтб

угадайте о чем это? :)))))))))))))))

Ответить

Номер ответа: 15
Автор ответа:
 Smith



ICQ: ненавижу 

Вопросов: 28
Ответов: 317
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #15
Добавлено: 07.06.08 20:49
Подсказка

бтбтбтбт
бтбтбтбт
бтбтбтбт
бтбтбтбт

Ответить

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

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



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