Encriptar/Desencriptar cadenas en VB y VB.Net
Estaba pensando que segun yo, mi blog es de todo tema que me guste o me llame la atención.
Y la programación es lo que me da para comprar las cheves los fines de semana y cotorrear con Vanessa. Es lo que hago un 80% del dia y no escribo nada de eso. Al grano pues.
Me he fijado que en varios sistemas usan un archivito de texto donde toma los datos para hacer la cadena de conexion a la base de datos, nosotros usamos un archivo .mdb (Access) para el sistema en Vb. En vb.net uso una clase que compilo en una dll y asi no ven los datos, eso es muccho mas seguro aún.
Me pidieron -cosa que se debió hacer desde el inicio del desarrollo- que incriptara los datos que tenimos en la basesita de Access, lo hice con las siguientes funcioncitas:
'Encrypt text
Public Function EncryptText(strText As String, ByVal strPwd As String)
Dim i As Integer, C As Integer
Dim strBuff As String
strPwd = UCase$(strPwd)
'Encrypt string
If Len(strPwd) Then
For i = 1 To Len(strText)
C = Asc(Mid$(strText, i, 1))
C = C + Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
strBuff = strBuff & Chr$(C And &HFF)
Next i
Else
strBuff = strText
End If
EncryptText = strBuff
End Function
'Decrypt text encrypted with EncryptText
Public Function DecryptText(strText As String, ByVal strPwd As String)
Dim i As Integer, C As Integer
Dim strBuff As String
strPwd = UCase$(strPwd)
'Decrypt string
If Len(strPwd) Then
For i = 1 To Len(strText)
C = Asc(Mid$(strText, i, 1))
C = C - Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
strBuff = strBuff & Chr$(C And &HFF)
Next i
Else
strBuff = strText
End If
DecryptText = strBuff
End Function
La función recibe 2 parametros: la cadena a encriptar/desencriptar, y la password o la llave de encriptamiento. Esta muy facilillo y las probamos tambien para VB.Net. Espero que algun dia a alguien le sirva de algo este post.
Sale.






“En vb.net uso una clase que compilo en una dll y asi no ven los datos” …podrías explicar como se hace esto? …necesito encriptar el user y pswd del MySQL dentro de “algo”, y que mi aplicacion lea ese “algo” y desencripte los datos que necesita.
Puedes usar algun algoritmo de encriptacion, como el RC2
bueno checare y espero me funcione
pos la verdad soy pricipiante en eso y me dejaron un problemita asi como el tuyo pero espero y si sirva
gracias por el aporte
esta es una solucion de encryptador y desencriptador en .net
estuve chekando su error y pude corregirlo es excelente……
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
EncryptText(TextBox1.Text, “hola”)
End Sub
‘Encrypt text
Public Function EncryptText(ByVal strText As String, ByVal strPwd As String)
Dim i As Integer, C As Integer
Dim strBuff As String
strPwd = UCase$(strPwd)
‘Encrypt string
If Len(strPwd) Then
For i = 1 To Len(strText)
C = Asc(Mid$(strText, i, 1))
C = C + Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
strBuff = strBuff & Chr(C And &HFF)
Next i
Else
strBuff = strText
End If
EncryptText = strBuff
textbox3.text = strBuff
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
‘Decrypt text encrypted with EncryptText
Public Function DecryptText(ByVal strText As String, ByVal strPwd As String)
Dim i As Integer, C As Integer
Dim strBuff As String
strPwd = UCase$(strPwd)
‘Decrypt string
If Len(strPwd) Then
For i = 1 To Len(strText)
C = Asc(Mid$(strText, i, 1))
C = C – Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
strBuff = strBuff & Chr(C And &HFF)
Next i
Else
strBuff = strText
End If
DecryptText = strBuff
TextBox4.Text = strBuff
End Function
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
DecryptText(TextBox3.Text, “hola”)
End Sub
End Class
use la palabra hola como la llave de encriptado y desencriptado si desean pueden cambiar la llave por los caracteres o palabras q deseen tanto como cadenas hexadecimales para hacerlo mas seguro.
ojo : ambas llaves de encryptado y desencryptado deben de ser totalmente iguales
hola a todos megustaria saber si alguien me puede ayudar con un ejemplo que encontre es una agenda la cosa es que esta conectada a Acces y la quiero conectar a SQL lo que quiero es tener el ejemplo que sale ahi con usuarios y Roles ademas que encripta alguien queme ayude a pasarla a SQL porfavorrr
Qué buen aporte compañero, se agradece, realmente me ha servido de mucha ayuda, te felicito man. Saludos
Si muy buen aporte me sirvio perfecto tuve que cambiar unas cositas pero me sirvio…GRACIAS..!
Excelente te felicito…. Gracias!!!
Hola me sirvio pero me guataria q me ayudes, la cadena q me retorna tiene ‘ o ” y al ejecutar mi insert me da errores, porfa ayudame
Porqué tenéis tantas faltas de ortografía, da vergüenza leeros.
“me guataría”, “basesita”, “checando”.
A parte, te explicas fatal, vaya porquería de expresiones.
Hala, sigue con tu blog y con tu basura de algoritmos.
Se dice contraseña, password es en inglés.
Hola, excelente algoritmo, me ha sido de gran ayuda.
Suerte,
Muy bueno, ademas es mejor que el System.Security.Cryptography por que este no se necesita almacenar en memoria…