Ir para conteúdo
Fórum Script Brasil
  • 0

Gravando Senhas


Guest - Lucas -

Pergunta

Guest - Lucas -

Alguém sabe como fazer para gravar uma senha que um programa usa?

Eu estou fazendo um programinha que só poderá ser acessado por quem tiver a senha, só que eu não sei como fazer isso. Alguém pode me ajudar. O programa pode ter sua senha alterada por quem já tiver se logado no programa. Em resumo, eu quero encriptar a senha e grava-la em um arquivo, para que quando a pessoa volte a acessar o programa, tenha que usar a senha que está encriptada e gravada em um arquivo.

Será que alguém pode me ajudar com isso?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Primeiro precisamos entender sua dúvida.. Tipo..

você quer criar um programa do qual o usuário vai inserir a senha e depois utilizar ???

Ou você está querendo pegar a senha utilizada em um programa já existente ??

Você quer gravar a senha em que tipo de arquivo, INI, DB, TXT ????

Que tipo de encriptação você quer ??? Existem milhares na net...

Bom.. Com essas respostas vai ficar fácil de te ajudar.. Abraço.

Oks,

Rafael Portal

Link para o comentário
Compartilhar em outros sites

  • 0

vê isso

Private Sub Form_Load()

'Posiciona Form

Me.Top = (Screen.Height / 2 - Me.Height / 2)

Me.Left = Screen.Width / 2 - Me.Width / 2

'Resseta Variáveis

NomeUsuario$ = ""

PswUsuario$ = ""

CodigoUsuario# = 0

HIUsuario$ = ""

HOUsuario$ = ""

AIUsuario$ = ""

AOUsuario$ = ""

SemUsuario%(1) = 0

SemUsuario%(2) = 0

SemUsuario%(3) = 0

SemUsuario%(4) = 0

SemUsuario%(5) = 0

SemUsuario%(6) = 0

SemUsuario%(7) = 0

Screen.MousePointer = vbDefault

End Sub

Private Sub tText_GotFocus(Index As Integer)

tText(Index).SelStart = 0

tText(Index).SelLength = Len(tText(Index).Text)

End Sub

Private Sub tText_KeyPress(Index As Integer, KeyAscii As Integer)

On Error GoTo ErroSenha

If KeyAscii = vbKeyReturn Then 'Enter

'Monta Query e abre a Tabela

w_sql = "Select [CODIGO],[NOME],[PSW] From Usuarios"

w_sql = w_sql & " Where NOME = '" & UCase$(tText(0).Text) & "'"

w_sql = w_sql & " Group by CODIGO,NOME,PSW"

w_sql = w_sql & " Order By NOME"

Set UsuDs = AdmDb.OpenRecordset(w_sql)

Select Case Index

Case 0 'Campo Usuário

If UsuDs.RecordCount <> 0 Then 'há usuário

tText(1).Enabled = True

tText(0).Enabled = False

tText(1).SetFocus

Else 'testa se é Usuário Mestre

If UCase$(tText(0).Text) = UsuMestre$ Then

tText(1).Enabled = True

tText(0).Enabled = False

tText(1).SetFocus

Else 'não há usuário

MsgBox "Usuário não cadastrado!!!", 16, "Acesso de Usuário"

tText(0).SetFocus

Exit Sub

End If

End If

Case 1 'Campo Senha

If UsuDs.RecordCount <> 0 Then 'há usuário

If UCase$(tText(1).Text) = UCase$(UsuDs!PSW) Then

tText(0).Enabled = False

EncerraOk 'Sim e a senha confere

Else

'testa se é Usuário Mestre

If UCase$(tText(1).Text) = SenMestre$ Then

tText(0).Enabled = False

EncerraOk 'Sim e a senha confere

Else 'Sim e a senha não confere

MsgBox "A Senha digitada, não confere com a cadastrada pelo Usuário!!!", vbExclamation, "Acesso de Usuário"

tText(1).Text = ""

tText(1).Enabled = False

tText(0).Text = ""

tText(0).Enabled = True

tText(0).SetFocus

End If

End If

Else

'testa se á Senha Mestre

If UCase$(tText(1).Text) = SenMestre$ Then

tText(0).Enabled = False

EncerraOk

Else

MsgBox "A Senha digitada, não confere com a cadastrada pelo Usuário!!!", vbExclamation, "Acesso de Usuário"

tText(1).Text = ""

tText(1).Enabled = False

tText(0).Text = ""

tText(0).Enabled = True

tText(0).SetFocus

End If

End If

End Select

UsuDs.Close

ElseIf KeyAscii = vbKeyEscape Then 'Esc

Resposta = MsgBox("Deseja Cancelar a operação?", vbQuestion + vbYesNo, "Acesso de Usuário")

If Resposta = vbYes Then

EncerraFail

Else

Exit Sub

End If

Else

End If

ErroSenha:

If TrataErro("Senhas tText_KeyPress") = True Then Resume Next

End Sub

Private Sub EncerraOk()

On Error GoTo ErroSenhaOK

'Testa se é usuário Mestre

If UCase$(tText(0).Text) = UsuMestre$ And UCase$(tText(1).Text) = SenMestre$ Then

NomeUsuario$ = UsuMestre$

PswUsuario$ = SenMestre$

CodigoUsuario# = 9999

GoTo Eckoz

End If

'Acessa cadastro de Usuários

w_sql = "Select [CODIGO],[NOME],[PSW] From Usuarios"

w_sql = w_sql & " Where NOME = '" & UCase$(tText(0).Text) & "'"

w_sql = w_sql & " Group by CODIGO,NOME,PSW"

w_sql = w_sql & " Order By NOME"

Set UsuDs = AdmDb.OpenRecordset(w_sql)

'Se ele não existir

If UsuDs.RecordCount = 0 Then

UsuDs.Close

EncerraFail

Else

NomeUsuario$ = UsuDs!Nome

PswUsuario$ = UsuDs!PSW

CodigoUsuario# = UsuDs!CODIGO

'Seta os néveis de Acesso para funcionário Cadastrado

w_sql = "Select * From Funcionarios "

w_sql = w_sql & " Where CODIGO = " & UsuDs!CODIGO

w_sql = w_sql & " And STATUS <> 'Inativo'"

w_sql = w_sql & " Order By CODIGO "

Set FunDs = AdmDb.OpenRecordset(w_sql)

FunDs.MoveFirst

'Seleciona período atual

HIniM% = 600

HEndM% = 1200

HIniT% = 1200

HEndT% = 1800

HIniN% = 1800

HEndN% = 2300

Agora% = Val(Format$(Now, "hhmm"))

Select Case Agora%

Case Is >= HIniM% And Agora% <= HEndM%

HIUsuario$ = FunDs!HIN_M

HOUsuario$ = FunDs!HOUT_M

Case Is >= HIniT% And Agora% <= HEndT%

HIUsuario$ = FunDs!HIN_T

HOUsuario$ = FunDs!HOUT_T

Case Is >= HIniN% And Agora% <= HEndN%

HIUsuario$ = FunDs!HIN_N

HOUsuario$ = FunDs!HOUT_N

Case Else

HIUsuario$ = "99:99"

HOUsuario$ = "99:99"

End Select

SemUsuario%(1) = FunDs!SEM_DOM

SemUsuario%(2) = FunDs!SEM_SEG

SemUsuario%(3) = FunDs!SEM_TER

SemUsuario%(4) = FunDs!SEM_QUA

SemUsuario%(5) = FunDs!SEM_QUI

SemUsuario%(6) = FunDs!SEM_SEX

SemUsuario%(7) = FunDs!SEM_SAB

FunDs.Close

UsuDs.Close

End If

Eckoz:

Unload Senhas

ErroSenhaOK:

If TrataErro("Senhas cComando_Click") = True Then Resume Next

End Sub

Private Sub EncerraFail()

NomeUsuario$ = ""

PswUsuario$ = ""

CodigoUsuario# = 0

HIUsuario$ = ""

HOUsuario$ = ""

AIUsuario$ = ""

AOUsuario$ = ""

SemUsuario%(1) = 0

SemUsuario%(2) = 0

SemUsuario%(3) = 0

SemUsuario%(4) = 0

SemUsuario%(5) = 0

SemUsuario%(6) = 0

SemUsuario%(7) = 0

Unload Senhas

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0
Primeiro precisamos entender sua dúvida.. Tipo..

você quer criar um programa do qual o usuário vai inserir a senha e depois utilizar ???

Ou você está querendo pegar a senha utilizada em um programa já existente ??

Você quer gravar a senha em que tipo de arquivo, INI, DB, TXT ????

Que tipo de encriptação você quer ??? Existem milhares na net...

Bom.. Com essas respostas vai ficar fácil de te ajudar.. Abraço.

Oks,

Rafael Portal

O programa que estou criando cadastra uma senha de usuário em qualquer arquivo (INI, TXT), e que será usada toda vez que o usuário utilizar o programa novamente. A forma de encriptação ainda não é importante. Por exemplo, se eu gravar a senha em um arquivo INI, o programa vai precisar procura-la nesse arquivo da próxima vez que o programa for executado e conferir a senha gravada com a senha que está sendo usada no momento, para permitir a entrada ou não no programa.

Ficou mais claro?

Eu não quero fazer em DB porque fica muito "pesada" a aplicação. Podem me ajudar assim?

De qualquer forma, muito obrigado!

Lucas

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...