192 lines
7.3 KiB
VB.net
192 lines
7.3 KiB
VB.net
Imports System.Net
|
|
Imports Org.BouncyCastle.Crypto
|
|
Imports Org.BouncyCastle.Crypto.Generators
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class frmAPIZugaenge
|
|
|
|
Dim APIBind As cEasyBinding
|
|
Public table
|
|
Public BIND_DB
|
|
Private EditRow As Integer = -1
|
|
Sub New(table, BIND_DB)
|
|
Me.table = table
|
|
Me.BIND_DB = BIND_DB
|
|
InitializeComponent()
|
|
End Sub
|
|
|
|
Private Sub frmAPIZugaengen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
loadDGV()
|
|
btnOK.Visible = True
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub loadDGV(Optional sqlwhere As String = "")
|
|
|
|
Try
|
|
APIBind = New cEasyBinding(BIND_DB)
|
|
|
|
|
|
If sqlwhere = "" Then
|
|
|
|
APIBind.initBinding("SELECT [userId] ,[username] ,[password] ,[customerId] ,[type] ,[active], [description], hashedPassword FROM " & table & " WHERE [active] = " & IIf(cbxProduktivsystem.Checked, "1", "0"), table)
|
|
Else
|
|
|
|
APIBind.initBinding("Select [userId] ,[username] ,[password] ,[customerId] ,[type] ,[active], [description], hashedPassword FROM " & table & " WHERE [active] = " & IIf(cbxProduktivsystem.Checked, "1", "0") & sqlwhere, table)
|
|
|
|
End If
|
|
|
|
DataGridView.DataSource = APIBind.bindingdataTable
|
|
|
|
With DataGridView
|
|
|
|
If .Columns.Count > 0 Then
|
|
|
|
.Columns("userId").Visible = False
|
|
.Columns("username").HeaderText = "Username"
|
|
.Columns("username").Width = 100
|
|
.Columns("password").HeaderText = "PW"
|
|
.Columns("password").Width = 100
|
|
.Columns("hashedPassword").HeaderText = "Hashed PW"
|
|
.Columns("hashedPassword").Width = 250
|
|
.Columns("customerId").HeaderText = "CustomerID"
|
|
.Columns("customerId").Width = 100
|
|
.Columns("type").HeaderText = "Type"
|
|
.Columns("type").Width = 100
|
|
.Columns("description").HeaderText = "Beschreibung"
|
|
.Columns("description").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("active").HeaderText = "Aktiv"
|
|
.Columns("active").Width = 25
|
|
|
|
End If
|
|
|
|
End With
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub DataGridView_DefaultValuesNeeded(sender As Object, e As DataGridViewRowEventArgs) Handles DataGridView.DefaultValuesNeeded
|
|
Try
|
|
|
|
e.Row.Cells("active").Value = False
|
|
e.Row.Cells("type").Value = "REST"
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
|
|
|
|
|
If DataGridView.Columns.Count = 0 Or DataGridView.SelectedRows.Count = 0 Then 'alles gelöscht oder markierte Zeile gelöscht
|
|
APIBind.updateBinding()
|
|
Exit Sub
|
|
End If
|
|
|
|
If DataGridView.CurrentRow.Cells("username").ToString <> "" AndAlso DataGridView.CurrentRow.Cells("password").ToString <> "" AndAlso DataGridView.CurrentRow.Cells("type").ToString <> "" AndAlso EditRow >= 0 Then
|
|
APIBind.updateBinding()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub DataGridView_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView.EditingControlShowing
|
|
EditRow = DataGridView.CurrentRow.Index
|
|
End Sub
|
|
|
|
Private Sub DataGridView_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView.SelectionChanged
|
|
If EditRow >= 0 Then
|
|
Dim new_row As Integer = EditRow
|
|
EditRow = -1
|
|
DataGridView.CurrentCell = DataGridView.Rows(new_row).Cells(
|
|
DataGridView.CurrentCell.ColumnIndex)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs)
|
|
If DataGridView.SelectedRows.Count = 0 Then Exit Sub
|
|
End Sub
|
|
|
|
Private Sub txtSuche_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSuche.KeyDown
|
|
|
|
Dim sqladdon As String = ""
|
|
|
|
|
|
If e.KeyCode = Keys.Enter Then
|
|
If txtSuche.Text <> "" Then
|
|
sqladdon &= " [username] Like '%" & txtSuche.Text & "%' or [type] like '%" & txtSuche.Text & "%'"
|
|
End If
|
|
loadDGV(sqladdon)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub cbxProduktivsystem_CheckedChanged(sender As Object, e As EventArgs) Handles cbxProduktivsystem.CheckedChanged
|
|
Dim sqladdon As String = ""
|
|
If txtSuche.Text <> "" Then
|
|
sqladdon &= " [username] Like '%" & txtSuche.Text & "%' or [type] like '%" & txtSuche.Text & "%'"
|
|
End If
|
|
loadDGV(sqladdon)
|
|
|
|
End Sub
|
|
|
|
Private Sub PictureBox5_Click(sender As Object, e As EventArgs) Handles PictureBox5.Click
|
|
Dim webAddress As String = "https://wiki.verag.ag/de/software/Offene_Punkte#aviso-rest-api"
|
|
Process.Start(webAddress)
|
|
End Sub
|
|
|
|
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
|
|
If DataGridView.SelectedRows.Count = 0 Then Exit Sub
|
|
|
|
For Each r As DataGridViewRow In DataGridView.SelectedRows
|
|
If r.Cells("password").Value IsNot Nothing AndAlso r.Cells("password").Value <> "" Then
|
|
If IsDBNull(r.Cells("hashedPassword").Value) OrElse r.Cells("hashedPassword").Value = "" Then
|
|
If Not vbYes = MsgBox("Möchten Sie die Passwörter der markierten Datensätze hashen?" & vbNewLine & "Achtung, das Klartextpassowrt wird nicht in der Datenbank gespeichert!", vbYesNoCancel) Then
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim hashedPW = BCrypt.Net.BCrypt.HashPassword(r.Cells("password").Value).ToString
|
|
r.Cells("hashedPassword").Value = hashedPW
|
|
r.Cells("password").Value = ""
|
|
APIBind.updateBinding()
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
|
|
Dim sqladdon As String = ""
|
|
If txtSuche.Text <> "" Then
|
|
sqladdon &= " [username] Like '%" & txtSuche.Text & "%' or [type] like '%" & txtSuche.Text & "%'"
|
|
End If
|
|
loadDGV(sqladdon)
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
|
|
Dim testpw = InputBox("zu testendes Passwort eingeben!", "PW-TESTER - Funktion des Hashing/Validation")
|
|
|
|
If testpw = "" Then Exit Sub
|
|
|
|
Dim passwordHash1 As String = BCrypt.Net.BCrypt.HashPassword(testpw)
|
|
Dim passwordHash2 As String = BCrypt.Net.BCrypt.HashPassword(testpw)
|
|
Dim passwordHash3 As String = BCrypt.Net.BCrypt.HashPassword(testpw)
|
|
|
|
Dim verified1 As Boolean = BCrypt.Net.BCrypt.Verify(testpw, passwordHash1)
|
|
Dim verified2 As Boolean = BCrypt.Net.BCrypt.Verify(testpw, passwordHash2)
|
|
Dim verified3 As Boolean = BCrypt.Net.BCrypt.Verify(testpw, passwordHash3)
|
|
|
|
MsgBox(passwordHash1 & vbNewLine & passwordHash2 & vbNewLine & passwordHash3 & vbNewLine & verified1 & vbNewLine & verified2 & vbNewLine & verified3)
|
|
|
|
End Sub
|
|
|
|
|
|
End Class |