DESAFIO, TESTE DE CRIPTOGRAFIA!!!
0 xor 0 = 0
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0
Voce faz uma operação de um numero com outro numero com xor ele resulta em outro. Pegue este resultado e façã uma operação com um dos numeros usados e ele vai gerar o outro numero.
200 Xor 100 = 172
172 Xor 100 = 200
200 Xor 172 = 100
Então tu encripta um arquivo com uma chave e volta ao normal com a mesma chave entenderam?
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0
Voce faz uma operação de um numero com outro numero com xor ele resulta em outro. Pegue este resultado e façã uma operação com um dos numeros usados e ele vai gerar o outro numero.
200 Xor 100 = 172
172 Xor 100 = 200
200 Xor 172 = 100
Então tu encripta um arquivo com uma chave e volta ao normal com a mesma chave entenderam?
Ah sim...
Agora eu entendi!!!
Valeu pela explicação!!!
Agora eu entendi!!!
Valeu pela explicação!!!

LCSD...
ESSE SEU CODIGO DE CRIPTOGRAFAI é LEGAL!!!!
INTERESANTE
ESSE SEU CODIGO DE CRIPTOGRAFAI é LEGAL!!!!
INTERESANTE
Boa esta iniciativa!!!
Vou mandar um bem simples
VBMania ==== |!w&^yL
Se ninguém descobrir posto o código aqui!!!
Vou mandar um bem simples
VBMania ==== |!w&^yL
Se ninguém descobrir posto o código aqui!!!
:à ¶Ã‚µÒ‚MiaVBna{êâ„¢à ÂNé¥
esta também é VBMania
Já coloco o código, será que esta é fácil? O que acham?
esta também é VBMania
Já coloco o código, será que esta é fácil? O que acham?
No site tem varios exemplos de criptografia e descriptografia q podem ser estudadas

Esta é rotina que usei, foi feita á pressa é provável que tenha alguns erros.
Pode-se ainda complicar mais o processo, visto que apenas alterei a ordem e adicionei alguns caracteres para despistagen.
Pode-se ainda complicar mais o processo, visto que apenas alterei a ordem e adicionei alguns caracteres para despistagen.
Private Sub Form_Load()
Text1 = Cripto("VBMania")
Text2 = Descript(Text1)
End Sub
Public Function Cripto(texto As String)
Dim x, i, j, k As Integer
Dim s, s2 As String
m = Len(texto) / 6
If m > Int(m) Then m = m + 1
m = 3 * m
texto = texto + Space(Len(texto) - m)
For x = 1 To m
s = Mid(texto, (x - 1) * 6 + 1, 6)
s2 = s2 + Mid(s, 3, 1)
s2 = s2 + Mid(s, 6, 1)
s2 = s2 + Mid(s, 4, 1)
s2 = s2 + Mid(s, 1, 1)
s2 = s2 + Mid(s, 2, 1)
s2 = s2 + Mid(s, 5, 1)
Next x
Randomize
j = Int((Rnd * 6) + 3)
k = Int((Rnd * 6) + 3)
For x = 1 To j
s2 = Chr(Rnd * 255) + s2
Next x
For x = 1 To k
s2 = s2 + Chr(Rnd * 255)
Next x
'MsgBox j & k
s2 = Chr(j & k) + s2
Cripto = s2
End Function
Public Function Descript(texto)
Dim b, b1, b2 As Integer
Dim c As String
b = Asc(Mid(texto, 1, 1))
c = Str(b)
b1 = Mid(c, 2, 1)
b2 = Mid(c, 3, 1)
texto = Mid(texto, b1 + 2, Len(texto))
texto = Mid(texto, 1, Len(texto) - b2)
m = Len(texto) / 6
If m > Int(m) Then m = m + 1
For x = 1 To Int(m)
s = Mid(texto, (x - 1) * 6 + 1, 6)
s2 = s2 + Mid(s, 4, 1)
s2 = s2 + Mid(s, 5, 1)
s2 = s2 + Mid(s, 1, 1)
s2 = s2 + Mid(s, 3, 1)
s2 = s2 + Mid(s, 6, 1)
s2 = s2 + Mid(s, 2, 1)
Next x
Descript = s2
End Function
Esse é um código com chave q eu montei agora, com base nó código do BRUNOMACHADO e com umas coisinhas a mais pra complicar mais (ele inverte o texto depois de criptografado e adiciona um caractere no final, asim o resultado da criptografia sempre vai ter sempre um caractere a mais do que o texto original. E eu acho q essas duas coisas dificultam um pouco na hora de quebrar...)
AÃ va(eu pus isso em um módulo)i:
é isso... Se tiver algum erro me avisem, pq nao deu pra testar...
AÃ va(eu pus isso em um módulo)i:
Option Explicit
Public i As Integer
Public j As Integer
Public Function Cript(TOrig As String, Chave As String) As String
Dim TTemp As Integer
Dim TCript As String
If TOrig = "" Or Chave = "" Then Exit Function
i = 1
j = 1
Do While i <= Len(TOrig)
TTemp = Asc(Mid(TOrig, i, 1)) + Asc(Mid(Chave, j, 1))
If TTemp > 255 Then
TTemp = TTemp - 255
End If
TCript = TCript & Chr(TTemp)
If j >= Len(Chave) Then
j = 1
Else
j = j + 1
End If
i = i + 1
Loop
Cript = StrReverse(TCript) & Chr(5)
End Function
Public Function DeCript(TOrig As String, Chave As String) As String
Dim TTemp As Integer
Dim TUnCript As String
If TOrig = "" Or Chave = "" Then Exit Function
i = 1
j = 1
TOrig = Left(TOrig, Len(TOrig) - 1)
TOrig = StrReverse(TOrig)
Do While i <= Len(TOrig)
TTemp = Asc(Mid(TOrig, i, 1)) - Asc(Mid(Chave, j, 1))
If TTemp < 0 Then
TTemp = TTemp + 255
End If
TUnCript = TUnCript & Chr(TTemp)
If j >= Len(Chave) Then
j = 1
Else
j = j + 1
End If
i = i + 1
Loop
DeCript = TUnCript
End Function
é isso... Se tiver algum erro me avisem, pq nao deu pra testar...
lcsd mas de onde vem a EncryptPassword ???
Uma boa dica é, depois de feito tudo isso.
Passe para binario, 0's(zeros) e 1's(Uns), confundem os lamer's da vida.
Eu gosto de brincar um pouco com Binario, fica bem legal.
Sem mais
Passe para binario, 0's(zeros) e 1's(Uns), confundem os lamer's da vida.
Eu gosto de brincar um pouco com Binario, fica bem legal.
Sem mais
Tópico encerrado , respostas não são mais permitidas