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

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Criptografia com resultado binário

Antes de iniciar sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

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: