Jump to content

Recommended Posts

Posted

Mais um programa nub para vocês.

Este é o Pass Central e permite criar e guardar passwords que podem ter números, letras ou números e letras.

Ao fazer este programa aprofundei os meus conhecimentos em randoms e arrays (nem por isso mas pronto).

LINK: http://www.fileden.com/files/2006/5/24/34588/Pass%20Central.zip

Code (é capaz de estar uma beca desarrumado mas prontos):  👍

Imports System.IO
Public Class Form1
    Dim normal, coded, nome, passstring, local, lista As String
    Dim pass As Long


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Atribui à variável local o valor da directoria onde se encontra o programa e a localização do .txt
        local = My.Computer.FileSystem.CurrentDirectory & "/ghkse.txt"
        'Abre o .txt e mete a informação na textbox
        txtlista.Text = My.Computer.FileSystem.ReadAllText(local)
        coded = txtlista.Text
        'Descodifica as passwords
        normal = Replace(coded, "aa", " ")
        normal = Replace(normal, "5d", ",")
        normal = Replace(normal, "8x", "-")
        normal = Replace(normal, "8j", ".")
        normal = Replace(normal, "2h", ";")
        normal = Replace(normal, "0n", ":")
        normal = Replace(normal, "9l", "?")
        normal = Replace(normal, "7f", "!")
        normal = Replace(normal, "1l", "0")
        normal = Replace(normal, "3x", "9")
        normal = Replace(normal, "6h", "8")
        normal = Replace(normal, "3p", "7")
        normal = Replace(normal, "0b", "6")
        normal = Replace(normal, "1d", "5")
        normal = Replace(normal, "7z", "4")
        normal = Replace(normal, "2v", "3")
        normal = Replace(normal, "9t", "2")
        normal = Replace(normal, "6p", "1")
        normal = Replace(normal, "ej", "z")
        normal = Replace(normal, "sp", "y")
        normal = Replace(normal, "wh", "x")
        normal = Replace(normal, "il", "w")
        normal = Replace(normal, "ir", "v")
        normal = Replace(normal, "of", "u")
        normal = Replace(normal, "qh", "t")
        normal = Replace(normal, "ut", "s")
        normal = Replace(normal, "kx", "r")
        normal = Replace(normal, "yp", "q")
        normal = Replace(normal, "mv", "p")
        normal = Replace(normal, "sn", "o")
        normal = Replace(normal, "ot", "n")
        normal = Replace(normal, "ul", "m")
        normal = Replace(normal, "yn", "l")
        normal = Replace(normal, "cj", "k")
        normal = Replace(normal, "kb", "j")
        normal = Replace(normal, "ad", "i")
        normal = Replace(normal, "gb", "h")
        normal = Replace(normal, "av", "g")
        normal = Replace(normal, "ef", "f")
        normal = Replace(normal, "wz", "e")
        normal = Replace(normal, "cx", "d")
        normal = Replace(normal, "mr", "c")
        normal = Replace(normal, "qd", "b")
        normal = Replace(normal, "gz", "a")

        txtlista.Text = normal
    End Sub

    Private Sub btngen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btngen.Click

        'Declara a variável "digitos" associada ao controlo numeric up and down
        Dim digitos As Integer = Me.nuddig.Value

        'Caso só a check box "número" se encontrar seleccionada cria número aleatório de 12 digitos.
        If Me.chknum.Checked = True And Me.chkletras.Checked = False Then

            Randomize()
            pass = CLng(Int((999999999999 * Rnd()) + 1))
            passstring = CStr(pass)

            'Corta parte da password de modo a que o seu comprimento corresponda à variável digitos
            passstring = Strings.Left(passstring, digitos)
            txtpass.Text = passstring

            'Caso só a check box "letras" se encontrar seleccionada cria 13 nomes de ficheiro aleatórios.
        ElseIf Me.chknum.Checked = False And Me.chkletras.Checked = True Then

            Dim rs(13) As String
            Dim contagem As Integer = 0

            While contagem < 13
                rs(contagem) = Path.GetRandomFileName
                contagem = contagem + 1
            End While

            'Cada array vai conter a letra inicial dos vários nomes de ficheiro gerados
            rs(0) = Strings.Left(rs(0), 1)
            rs(1) = Strings.Left(rs(1), 1)
            rs(2) = Strings.Left(rs(2), 1)
            rs(3) = Strings.Left(rs(3), 1)
            rs(4) = Strings.Left(rs(4), 1)
            rs(5) = Strings.Left(rs(5), 1)
            rs(6) = Strings.Left(rs(6), 1)
            rs(7) = Strings.Left(rs(7), 1)
            rs(8) = Strings.Left(rs(8), 1)
            rs(9) = Strings.Left(rs(9), 1)
            rs(10) = Strings.Left(rs(10), 1)
            rs(11) = Strings.Left(rs(11), 1)
            rs(12) = Strings.Left(rs(12), 1)
            rs(13) = Strings.Left(rs(13), 1)

            'Junta todas as arrays
            passstring = rs(1) & rs(2) & rs(3) & rs(4) & rs(5) & rs(6) & rs(7) & rs(8) & rs(9) & rs(10) & rs(11) & rs(12) & rs(13)

            'Como alguns nomes de ficheiros começam com número, temos que os substituir por letras
            passstring = Replace(passstring, "1", "h")
            passstring = Replace(passstring, "2", "b")
            passstring = Replace(passstring, "3", "n")
            passstring = Replace(passstring, "4", "a")
            passstring = Replace(passstring, "5", "l")
            passstring = Replace(passstring, "6", "z")
            passstring = Replace(passstring, "7", "e")
            passstring = Replace(passstring, "8", "p")
            passstring = Replace(passstring, "9", "s")
            passstring = Replace(passstring, "0", "y")

            'Limitar a password ao nº de digitos
            passstring = Strings.Left(passstring, digitos)
            txtpass.Text = passstring

            'Caso ambas as checkboxes se encontrem seleccionadas, criar 13 nomes de ficheiro aleatórios
        ElseIf Me.chkletras.Checked = True And Me.chknum.Checked = True Then

            Dim rs(13) As String
            Dim contagem As Integer = 0

            While contagem < 13
                rs(contagem) = Path.GetRandomFileName
                contagem = contagem + 1
            End While

            'Atribuir a letra inicial de cada nome a uma array
            rs(0) = Strings.Left(rs(0), 1)
            rs(1) = Strings.Left(rs(1), 1)
            rs(2) = Strings.Left(rs(2), 1)
            rs(3) = Strings.Left(rs(3), 1)
            rs(4) = Strings.Left(rs(4), 1)
            rs(5) = Strings.Left(rs(5), 1)
            rs(6) = Strings.Left(rs(6), 1)
            rs(7) = Strings.Left(rs(7), 1)
            rs(8) = Strings.Left(rs(8), 1)
            rs(9) = Strings.Left(rs(9), 1)
            rs(10) = Strings.Left(rs(10), 1)
            rs(11) = Strings.Left(rs(11), 1)
            rs(12) = Strings.Left(rs(12), 1)
            rs(13) = Strings.Left(rs(13), 1)

            'Juntar as arrays e limitar o tamanho da password
            passstring = rs(1) & rs(2) & rs(3) & rs(4) & rs(5) & rs(6) & rs(7) & rs(8) & rs(9) & rs(10) & rs(11) & rs(12) & rs(13)
            passstring = Strings.Left(passstring, digitos)
            txtpass.Text = passstring

        End If
    End Sub

    Private Sub btnad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnad.Click
        
        'Caso se prima o botão "Adicionar" e a caixa de texto "Nome" se encontrar vazia, mostrar o seguinte aviso:
        If txtnome.Text = "" Then

            MessageBox.Show("Por favor introduza um nome para a sua password", "Introduzir nome", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            Exit Sub

            'Caso se prima o botão "Adicionar" e a caixa de texto "Pass" se encontrar vazia, mostrar o seguinte aviso:
        ElseIf txtpass.Text = "" Then

            MessageBox.Show("Por favor introduza ou gere uma password", "Introduzir password", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            Exit Sub

            'Caso ambas as caixas estejam preenchidas, adiconar o nome e a password à lista de passwords
        Else

            nome = txtnome.Text
            lista = txtlista.Text
            passstring = txtpass.Text
            txtlista.Text = lista & nome & ": " & passstring & ControlChars.NewLine
            normal = txtlista.Text


            'Codifica as passwords
            coded = Replace(normal, "a", "gz")
            coded = Replace(coded, "b", "qd")
            coded = Replace(coded, "c", "mr")
            coded = Replace(coded, "d", "cx")
            coded = Replace(coded, "e", "wz")
            coded = Replace(coded, "f", "ef")
            coded = Replace(coded, "g", "av")
            coded = Replace(coded, "h", "gb")
            coded = Replace(coded, "i", "ad")
            coded = Replace(coded, "j", "kb")
            coded = Replace(coded, "k", "cj")
            coded = Replace(coded, "l", "yn")
            coded = Replace(coded, "m", "ul")
            coded = Replace(coded, "n", "ot")
            coded = Replace(coded, "o", "sn")
            coded = Replace(coded, "p", "mv")
            coded = Replace(coded, "q", "yp")
            coded = Replace(coded, "r", "kx")
            coded = Replace(coded, "s", "ut")
            coded = Replace(coded, "t", "qh")
            coded = Replace(coded, "u", "of")
            coded = Replace(coded, "v", "ir")
            coded = Replace(coded, "w", "il")
            coded = Replace(coded, "x", "wh")
            coded = Replace(coded, "y", "sp")
            coded = Replace(coded, "z", "ej")
            coded = Replace(coded, "1", "6p")
            coded = Replace(coded, "2", "9t")
            coded = Replace(coded, "3", "2v")
            coded = Replace(coded, "4", "7z")
            coded = Replace(coded, "5", "1d")
            coded = Replace(coded, "6", "0b")
            coded = Replace(coded, "7", "3p")
            coded = Replace(coded, "8", "6h")
            coded = Replace(coded, "9", "3x")
            coded = Replace(coded, "0", "1l")
            coded = Replace(coded, "!", "7f")
            coded = Replace(coded, "?", "9l")
            coded = Replace(coded, ":", "0n")
            coded = Replace(coded, ";", "2h")
            coded = Replace(coded, ".", "8j")
            coded = Replace(coded, "-", "8x")
            coded = Replace(coded, ",", "5d")
            coded = Replace(coded, " ", "aa")

            lista = coded

            'Guarda-as no ficheiro .txt
            My.Computer.FileSystem.WriteAllText(local, lista, False)

        End If

    End Sub

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

        'Permite apagar a lista
        If MessageBox.Show("Tem a certeza que quer apagar a lista?" & vbNewLine & "Isto apagará todas as passwords guardadas!", "Apagar Lista?", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Yes Then
            txtlista.Text = String.Empty
            lista = txtlista.Text
            My.Computer.FileSystem.WriteAllText(local, lista, False)
        End If
    End Sub

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

        'Permite apagar a seleccção
        If MessageBox.Show("Tem a certeza que quer apagar a(s) password(s) seleccionada(s)??", "Apagar password(s) seleccionada(s)?", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Yes Then
            txtlista.SelectedText = String.Empty
            lista = txtlista.Text
            My.Computer.FileSystem.WriteAllText(local, lista, False)
        End If
    End Sub

    Private Sub SairToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SairToolStripMenuItem.Click

        'Fecha o programa
        Close()
    End Sub

    Private Sub AjudaToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AjudaToolStripMenuItem1.Click

        'Abre a janela Ajuda
        Dim ajuda As New Dialog1
        ajuda.ShowDialog()
    End Sub

    Private Sub SobreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SobreToolStripMenuItem.Click

        'Abrea a janela Sobre
        Dim sobre As New AboutBox1
        sobre.ShowDialog()
    End Sub
End Class

e btw thanks ao Fat por me ter aturado no IRC  👍

Revolt Website Antigo Nick: Pauzinhos
Posted

Tá girinho mas olha, quando tirei a seta da CheckBox em Números e Letras, não deu para gerar nada como é óbvio, mas podias fazer "saltar" 1 MessageBox a dizer por exemplo que tinhamos de seleccionar pelo menos 1 das Opções 👍

Fica Bem e Continua que estás lá 👍

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.