Para ver Todo el contenido del foro es necesario estar Registrado!
Antes de comentar o Aportar es Obligado Leer Las: Reglas | Rules
Ya Esta Disponible al publico "LeProject" el Videojuego del Foro Click Aquí Para Ver el Post.
Pitbull Security Labs "Extras" Esta Disponible! [ENTRA]

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1AX 


Moderadores
Moderadores

Ver perfil de usuario
el Jue Abr 21, 2011 4:16 pm
Código:
Public Function Vigenere(A As String, B As String, C As Integer) As String
On Error Resume Next

'==============================================================================='
' AX: Vigenère                                                                  '
' Uso: Call Vigenere(Texto, Clave, Cifrar/Descifrar)                            '
' Cifrar: 1                                                                    '
' Descifrar: 2                                                                  '
'==============================================================================='

Dim S As String
Dim T As String
Dim U As String
Dim N As String
Dim F As Integer
Dim D As Integer
Dim E As Integer
Dim x As Long

If Not 1 >= C <= 2 Then Exit Function

S = Trim(Replace(A, " ", ""))
T = Trim(Replace(B, " ", ""))

If Len(B) < Len(S) Then
For x = Len(T) To Len(S) Step Len(T)
U = U & T
Next x
End If

If C = 1 Then
For x = 1 To Len(S)
If Asc(Mid(S, x, 1)) >= 65 And Asc(Mid(S, x, 1)) <= 90 Then D = Asc(Mid(S, x, 1)) Mod 65
If Asc(Mid(S, x, 1)) >= 97 And Asc(Mid(S, x, 1)) <= 122 Then D = Asc(Mid(S, x, 1)) Mod 97
If Asc(Mid(U, x, 1)) >= 65 And Asc(Mid(U, x, 1)) <= 90 Then E = Asc(Mid(U, x, 1)) Mod 65
If Asc(Mid(U, x, 1)) >= 97 And Asc(Mid(U, x, 1)) <= 122 Then E = Asc(Mid(U, x, 1)) Mod 97

F = (D + E) Mod 26
N = N & Chr((F + 65))
Next x
End If

If C = 2 Then
For x = 1 To Len(S)
If Asc(Mid(S, x, 1)) >= 65 And Asc(Mid(S, x, 1)) <= 90 Then D = Asc(Mid(S, x, 1)) Mod 65
If Asc(Mid(S, x, 1)) >= 97 And Asc(Mid(S, x, 1)) <= 122 Then D = Asc(Mid(S, x, 1)) Mod 97
If Asc(Mid(U, x, 1)) >= 65 And Asc(Mid(U, x, 1)) <= 90 Then E = Asc(Mid(U, x, 1)) Mod 65
If Asc(Mid(U, x, 1)) >= 97 And Asc(Mid(U, x, 1)) <= 122 Then E = Asc(Mid(U, x, 1)) Mod 97

F = (D - E) Mod 26
If F < 0 Then F = (26 + F) Mod 26
N = N & Chr((F + 65))
Next x
End If

Vigenere = N
End Function


Este es el famoso cifrado de Vigenère. Desde hace tiempo quise convertir este cifrado a VB6, pero hasta hoy no lo había concretado.

Para cifrar el texto:
Código:
Call Vigenere(Texto, Clave, 1)

Descifrar:
Código:
Call Vigenere(Texto, Clave, 2)

El número 1 es para cifrar y el 2 para descifrar

Utiliza el siguiente alfabeto:
A -- 00
B -- 01
C -- 02
D -- 03
E -- 04
F -- 05
G -- 06
H -- 07
I -- 08
J -- 09
K -- 10
L -- 11
M -- 12
N -- 13
O -- 14
P -- 15
Q -- 16
R -- 17
S -- 18
T -- 19
U -- 20
V -- 21
W -- 22
X -- 23
Y -- 24
Z -- 25

Con un total de 26 carácteres y no utiliza la Ññ....Recomiendo este nuevo cifrado para cifrar las contraseñas de las herramientas que publican. Y lo próximo que haré será crear una versión del cifrado de Beaufort ya que es muy similar a este.

Información: [Tienes que estar registrado y conectado para ver este vínculo]

Saludos.


Administrador
Administrador

Ver perfil de usuario http://www.pitbullsecurity.org
el Jue Abr 21, 2011 4:43 pm
Muy bueno lo tuyo bro! vamos a ver que tal va!


___________________
Admin: Pitbull Security Labs , Colaborador: Indetectables , Moderador: Level-23

Usuario
Usuario

Ver perfil de usuario
el Sáb Jul 23, 2011 1:11 pm
poco a poco instroduciendome en el mundo del VB esta un poco conplicado Gracias


Usuario
Usuario

Ver perfil de usuario
el Dom Jul 24, 2011 12:45 am
Excelente, quizás hayan algunas cosas que optimizar pero muy buen trabajo !!
Se entiende con facilidad.


Usuario
Usuario

Ver perfil de usuario
el Miér Ago 03, 2011 11:00 am
No es tan complicado el vb sólo es cuestión de tiempo de tener las ganas para meterse al mundo del vb

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.