Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mazinha

Criptografando

Recommended Posts

Eu PRECISO criptografar um arquivo, através do VB, só q eu naum sei nem por onde eu começo!

É assim: Num formulário vai ter um msflexgrid. Qndo o usuário clicar num botão, vaum ser carregados os dados de uma tabela d um mdb. Qndo o usuário clicar em outro botão, os dados q estão no msflexgrid vaum ser salvos num txt. Só q esses dados q vaum ficar no txt TEM q tá criptografado!

Entenderam o q eu quero?

Como q faz isso???? http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem....

 

atualmente uso uma função bem útil, você pode definir até uma chave de encriptação e qual o tamanho máximo da string a ser codificada, o código é o seguinte:

 

'

'**** Trata encriptação dos dados nas tabelas de segurança

'

Public Function Criptografa(vgSt As String) As String

  Criptografa$ = Trim$(Cript$(RPad$(vgSt$, 25, " "), "CHAVE"))

End Function

 

'**** Criptografa e descriptografa

'

Public Function Cript(St As String, Pw As String) As String

  Dim x As String, I As Integer, n As Integer, _

      p As Integer, j As Integer, n0 As Integer     'dimensiona

  p = 0

  For I = 1 To Len(St$)                             'para cada caracter

    p = p + 1                                       'incrementa ponteiro

    If p > Len(Pw$) Then p = 1                      'testa e reseta, se for o caso

    j = Asc(Mid$(Pw$, p, 1)) Or 128                 'pega char da senha evitando acima de 128

    n = Asc(Mid$(St$, I))                           'pega char da string a encriptar

 

DeNovo:

    n = n Xor j                                     'encripta...

    If n < 31 Then                                  'se char de controle

      n = (128 + n)                                 'somar 128 e

      GoTo DeNovo                                   'ecripta novamente

    ElseIf n > 127 And n < 159 Then                 'se nesta faixa pode ser char de controle

      n = n - 128                                   'tira 128 e

      GoTo DeNovo                                   'encripta novamente

    End If

    x$ = x$ + Chr$(n)                               'concatena string encriptada

  Next                                              'próximo caracter a encriptar

  Cript$ = x$                                       'retorna a nova string

End Function

'RPad - Enche caracteres à direita de uma string

Public Function RPad(St As String, Tm As Integer, Ch As String) As String

  Dim x As String                                            'dimensiona

  If VarType(St) = vbString Then                             'se veio uma string

    x$ = St                                                  'pega ela...

  Else                                            'senão,

    x$ = Str$(St)                                 'transforma em string

  End If

  RPad$ = Left$(LTrim$(x$) + String$(Tm, Ch$), Tm) 'completa com brancos à direita

End Function

a função de chamada é a Criptografa, é nela que você define a chave e o tamanho.

daí ativando esta função ela faz o restante e retorna uma STRING.

 

ex:

 

dim sSeguranca as String

 

sSeguranca = criptografa("Henrique Simões")

 

a variável terá: Ȭ½±¯²Ç¶éÓª«6× éóãæã óéóã como valor.

 

se você chamar a função pondo o valor criptografado como parametro, terá o valor original:

 

sSeguranca = criptografa("Ȭ½±¯²Ç¶éÓª«6× éóãæã óéóã")

recebe Henrique Simões.

 

simples né?

 

neste caso, o ideal é aumentar mais o tamanho limite da encriptação (é esse o nome?) :P

 

inté

 

ps: uso este p/ senhas (até 20 caracteres geralmente), aumentando o nível, irá aumentar a string codificada tbm... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.