bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Criptografia com resultado binário
Criptografia com resultado binário

Adquira a assinatura vitalícia do site e passe a ter acesso aos arquivos exemplos, vídeos, revistas, livros e ao kit de montagem de ribbons. Você terá suporte por e-mail, caso necessite tirar dúvidas pontuais. Clique AQUI e veja como obter um dos nossos planos. Clique AQUI e faça uma visita a seção Downloads do site e verifique as centenas de arquivos que estará à sua disposição. Clique AQUI e faça uma visita a seção Vídeos do site e veja a lista que estará disponível ao se tornar o nosso assinante vitalício. Clique AQUI e saiba mais detalhes sobre o kit de montagem de ribbons (deixe seus aplicativos com aspecto profissional).



Quero mostrar uma utilidade prática que é a criação de um código de criptografia de nível 3.  Observe bem a função:

Public Function fncCripBin(Senha, Optional Chave As Long = 0) As String
Dim cv As Byte, comp
If Chave <> 153045 Then
   'Gerando um falso resultado, caso a chave de segurança esteja incorreta.
   fncCripBin = "101010101010110101010"
   Exit Function
End If
If Len(Senha) > 7 Then
   MsgBox "Comprimento máximo de 7 dígitos...", vbInformation, "Aviso"
   Exit Function
End If
Randomize
cv = Int((Rnd() * 126)) + 1
comp = String(7 - Len(fncDecBin(CLng(cv))), "0")
fncCripBin = fncDecBin(Oct(senha * cv)) & comp & fncDecBin(cv)
End Function

Observe que temos três criptografias embutidas na função para gerar a criptografia final.  É por isso que aqui chamo de criptografia de nível 3.  A primeira criptografia é gerar um valor OCTAL da multiplicação da senha informada (valor decimal) pela chave randômica (cv).  A chave randômica (cv) varia de 1 a 127:

Oct(Senha * cv)

Vamos supor que a senha informada seja 102030 e que o valor da chave seja 81.  Como resultado da primeira criptografia teremos:

Oct(102030*81) :::>  37415356

A segunda criptografia é a geração do valor Binário do resultado Octal.

fncDecBin(37415356) :::> 10001110101110100110111100

A chave randômica (cv) é incorporada ao código Binário final para que possamos descriptografar a senha.  Esta seria a terceira criptografia utilizada. 

fncDecBin(81) = 1010001

Como resultado final da criptografia, teremos:

fncCripBin(102030, 153045) ::::> 100011101011101001101111001010001

Observe que cada vez que rodarmos a função, com a mesma senha, podemos obter até 127 resultados diferentes de código Binário.  Exemplo:

fncCripBin(102030, 153045) :::> 110111110010011010101000010011

fncCripBin(102030, 153045) :::> 110110101101011100011001101111010

O bom nisso é que dificulta, ao extremo, qualquer tentativa de engenharia reversa.

Segue abaixo a função para descriptografar o código Binário gerado.

Public Function fncDCripBin(strBin As String, Optional Chave As Long = 0)
Dim cv
If Chave <> 153045 Then
   'Gerando um falso resultado, caso a chave de segurança esteja incorreta:
   fncDCripBin = "908070"
   Exit Function
End If
cv = fncBinDec(Right(strBin, 7))
fncDCripBin = CLng("&o" & fncBinDec(Mid(strBin, 1, Len(strBin) - 7))) / cv
End Function

Aplicando a função temos como resultado:

fncDCripBin("110110101101011100011001101111010", 153045) :::> 102030


Bom estudo!


 

 


Não há comentário

Envie seu comentário: