• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Vb+mssql+md5

  • Автор темы Rastamans
  • Дата начала
R

Rastamans

Добрый день.
Столкнулся с проблемой так как в программирование не так уж давно только учуся. Делаю лаунчер для онлайн игры для собственного сервера, в нем предусмотрена регистрация аккаунта БД игрового сервера основана на Mssql
Передомной встала задача:

1) Добавление новой строки в БД (То есть регистрацию аккаунта) ==== с этим я справился:)
2) Передача пароля идёт в виде: ключ+пароль и все это перекодируется в md5
Пример: 2011admin=13b5247e3398350918cb622a3ec19e9=>в таком виде он должен поступать в БД
3) Проверка логина в БД если есть такой логин то выдавать соответствующие сообщение.

Покопав интернет не нашел ответа на последние 2 вопроса, если не сложно помогите новичку очень нужно пожалуйста
Вот код передачи данных в MSSQL

Код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim name, des As String
Dim pass As String
name = "'" & Me.TextBox2.Text & "'"
pass = "'" & Me.TextBox3.Text & "'"
Dim cmd As New SqlCommand("INSERT INTO Accounts VALUES (" & name & "," & pass & ", 0 , 0 , 18 , 1 , 1 , 1 , 0 , null , 1 , null , null , null )", conn)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
MsgBox("Вы зарегестрированны")
End Sub
 
R

Rastamans

Вообщем с проблемой передачи пароля в зашифрованно виде разобрался сам
вот код

Код:
Imports System.Data
Imports System.Data.SqlClient
Imports System.Security.Cryptography
Imports System.Text
Public Class Form1
Private Function StringtoMD5(ByVal Content As String) As String
Dim M5 As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim ByteString() As Byte = System.Text.Encoding.ASCII.GetBytes(Content)
ByteString = M5.ComputeHash(ByteString)
Dim FinalString As String = Nothing
For Each bt As Byte In ByteString
FinalString &= bt.ToString("x2")
Next
Return FinalString
End Function
Dim conn As New SqlConnection("Data Source=SAMLAB;Initial Catalog=Auth;User ID=sa")
Sub seleccionar()
Dim adp As New SqlDataAdapter("SELECT * FROM Accounts", conn)
Dim ds As New DataSet()
adp.Fill(ds, "login_name")
Me.DataGridView1.DataSource = ds.Tables(0)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.seleccionar()

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.seleccionar()
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim adp As New SqlDataAdapter("SELECT * FROM Accounts WHERE login_name LIKE '%" + Me.TextBox1.Text + "%'", conn)
Dim ds As New DataSet()
adp.Fill(ds, "login_name")
Me.DataGridView1.DataSource = ds.Tables(0)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox3.Text = StringtoMD5("2011" + TextBox3.Text)
Dim name, des As String
Dim pass As String
name = "'" & Me.TextBox2.Text & "'"
pass = "'" & Me.TextBox3.Text & "'"
Dim cmd As New SqlCommand("INSERT INTO Accounts VALUES (" & name & "," & pass & ", 0 , 0 , 18 , 1 , 1 , 1 , 0 , null , 1 , null , null , null )", conn)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
MsgBox("Вы зарегестрированны")
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class


1)Теперь надо устроить проверку с БД на присутствие такого логина в бд если он есть то выдать сообщение если нет то зарегистрировать.
2) проверка вводимых данных в TextBox запретить символы некоторые и пустые поля
Если есть у кого ни будь такая информация помогите пожалуйста по возможности ищу сам но хотелось бы ускорить процесс
 
R

Rastamans

Не у кого идей нет??? А жаль очень надо :)
 
R

Rastamans

Вообщем поборол я русские буквы чтоб не вводилися вот код:

Код:
 Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 122) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 32) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 91) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 58) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 59) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 60) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 61) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 62) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 63) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 64) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 91) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 92) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 93) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 94) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 95) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) = 96) Then
If (Microsoft.VisualBasic.Asc(e.KeyChar) <> 32) Then
e.Handled = True
End If
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
End If
End Sub


Осталося последня проблема с читыванием данных и их проверкой дайте подсказку желательно на примере
ЗЫ: Такое ощущение я тут один =)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!