Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Guest - Lucas -

Gravando Senhas

Question

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?

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 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

Share this post


Link to post
Share on other sites
  • 0
Guest Guest

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

Share this post


Link to post
Share on other sites
  • 0

Posta teu mail ae que te mando um exemplo em VB6 com Access 2000

A senha fica armazenada numa Tabela Usuários, totalmente encriptada...

Fica mais fácil...creio eu!!!

Share this post


Link to post
Share on other sites
  • 0
Guest Guest
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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148079
    • Total Posts
      643267
×
×
  • Create New...