|
|
|
|
|
Dicas
|
|
Visual Basic (ActiveX/Controles/DLL)
|
|
|
Título da Dica: Criando uma DLL
|
|
|
|
Postada em 17/2/2004 por ixeyc
Inicie o VB ao inves de Active EXE escolha ActiveX DLL ali coloque suas funções.... se estiver sem funções em mãos, copie e cole essa função: 'Funções para criptografia: Public Function CriptSenha(Psenha As String) As Variant 'Início da Declaração de Variáveis Dim v_sqlerrm As String Dim SenhaCript As String Dim var1 As String Const MIN_ASC = 32 Const MAX_ASC = 126 Const NUM_ASC = MAX_ASC - MIN_ASC + 1 'Término da Declaração de Variáveis Chave = 2001 'qualquer nº para montar o algorítimo da criptografia 'Início da Declaração de Variáveis Dim offset As Long Dim str_len As Integer Dim i As Integer Dim ch As Integer 'Término da Declaração de Variáveis to_text = "" offset = NumericPassword(Chave) Rnd -1 Randomize offset str_len = Len(Psenha) 'Início do For For i = 1 To str_len 'Faça 1 até str_len ch = Asc(Mid$(Psenha, i, 1)) 'Início do If If ch >= MIN_ASC And ch <= MAX_ASC Then ch = ch - MIN_ASC offset = Int((NUM_ASC + 1) * Rnd) ch = ((ch + offset) Mod NUM_ASC) ch = ch + MIN_ASC to_text = to_text & Chr$(ch) End If 'Término do If Next i 'Término do For CriptSenha = to_text End Function 'Funções para descriptografia: Public Function DeCriptSenha(Psenha As String) As Variant Dim v_sqlerrm As String Dim SenhaCript As String Dim var1 As String Const MIN_ASC = 32 Const MAX_ASC = 126 Const NUM_ASC = MAX_ASC - MIN_ASC + 1 Chave = 2001 'qualquer nº para montar o algorítimo da criptografia Dim offset As Long Dim str_len As Integer Dim i As Integer Dim ch As Integer to_text = "" offset = NumericPassword(Chave) Rnd -1 Randomize offset str_len = Len(Psenha) For i = 1 To str_len ch = Asc(Mid$(Psenha, i, 1)) If ch >= MIN_ASC And ch <= MAX_ASC Then ch = ch - MIN_ASC offset = Int((NUM_ASC + 1) * Rnd) ch = ((ch - offset) Mod NUM_ASC) 'Início do If If ch < 0 Then ch = ch + NUM_ASC ch = ch + MIN_ASC to_text = to_text & Chr$(ch) End If 'Término do If Next i 'Término do For DeCriptSenha = to_text End Function Private Function NumericPassword(ByVal password As String) As Long 'Início da Declaração das Variáveis Dim value As Long Dim ch As Long Dim shift1 As Long Dim shift2 As Long Dim i As Integer Dim str_len As Integer 'Término da Delcaração das Variáveis str_len = Len(password) 'Início do For For i = 1 To str_len ch = Asc(Mid$(password, i, 1)) value = value Xor (ch * 2 ^ shift1) value = value Xor (ch * 2 ^ shift2) shift1 = (shift1 + 7) Mod 19 shift2 = (shift2 + 13) Mod 23 Next i 'Término do For NumericPassword = value End Function depois vá em FileMake Project1.dll (o nome de sua preferencia) depois pra usa-la é so fazer no seu projeto referencia a sua DLL, no menu ProjectReferences.... e usa a função como se fosse no proprio module so pra completar essa função que passei acima se chama assim: CriptSenha(string) DeCriptSenha(string)
|
|
|
|
|