Encriptar y desencriptar texto con archivo clave con ASP clásico
Código ASP clásico
- Por Programador ASP clásico /
- 06/08/2012 @ 15:05:00 /
- 1279 visitas
Aquí se presenta un código nuevo para crear una nueva clave cada vez que se ejecuta el código. Básicamente se escribe un nuevo archivo de clave acada vez que se ejecuta la página. El archivo 'clave' se compone de un nombre de archivo generado aleatoriamente, y los datos clave se almacena en el interior de la misma. La clave de nueva creación se utiliza para cifrar / descifrar los datos de la cadena sobre la marcha. Si no se cifrar / descifrar al vuelo, que se desea almacenar los datos cifrados y la ubicación del archivo de clave que cifra los datos. Opcionalmente, puede almacenar todos estos datos en una base de datos segura, en lugar de escribir archivos de texto. Puede que no desee la información clave y los datos cifrados almacenados en el mismo lugar por razones de seguridad. Eso depende de usted.
El código para cifrar el vuelo se muestra a continuación:
<%
Dim g_KeyLocation, g_Key
g_KeyLocation = "C:\crypt\" & BuildFileName() & ".txt"
Const g_CryptThis = "Encripta cadena de texto ahora!"
Const g_KeyLen = 512
On Error Resume Next
strFullKey = KeyGeN(g_KeyLen)
Call WriteKeyToFile(strFullKey)
if Err <> 0 Then
Response.Write "ERROR GENERATING KEY" & "<P>"
Response.Write Err.Number & "<BR>"
Response.Write Err.Description & "<BR>"
Else
Response.Write "KEY SUCCESSFULLY GENERATED"
End If
Sub WriteKeyToFile(MyKeyString)
Dim keyFile, fso, strFileName
strFileName = g_KeyLocation
set fso = Server.CreateObject("scripting.FileSystemObject")
set keyFile = fso.CreateTextFile(strFileName, true)
keyFile.WriteLine(MyKeyString)
keyFile.Close
End Sub
Function KeyGeN(iKeyLength)
Dim k, iCount, strMyKey, lowerbound, upperbound
lowerbound = 35 ' 35
upperbound = 96 ' 96
Randomize ' Initialize random-number generator.
for i = 1 to iKeyLength
s = 255
k = Int(((upperbound - lowerbound) + 1) * Rnd + lowerbound)
strMyKey = strMyKey & Chr(k) & ""
next
KeyGeN = strMyKey
End Function
Function BuildFileName()
Dim k, i, strFileName, lowerbound, upperbound
lowerbound = 97
upperbound = 122
Randomize
for i = 1 to 24
k = Int(((upperbound - lowerbound) + 1) * Rnd + lowerbound)
strFileName = strFileName & Chr(k) & ""
next
BuildFileName = strFileName
End Function
g_Key = mid(ReadKeyFromFile(g_KeyLocation),1,Len(g_CryptThis))
Response.Write "<p>ORIGINAL STRING: " & g_CryptThis & _
"<p>"
Response.Write "<p>KEY VALUE: " & g_Key & "<p>"
Response.Write "<p>ENCRYPTED CYPHERTEXT: " & _
EnCrypt(g_CryptThis) & "<p>"
Response.Write "<p>DECRYPTED CYPHERTEXT: " & _
DeCrypt(EnCrypt(g_CryptThis)) & "<p>"
Function EnCrypt(strCryptThis)
Dim strChar, iKeyChar, iStringChar, i
for i = 1 to Len(strCryptThis)
iKeyChar = Asc(mid(g_Key,i,1))
iStringChar = Asc(mid(strCryptThis,i,1))
iCryptChar = iKeyChar Xor iStringChar
strEncrypted = strEncrypted & Chr(iCryptChar)
next
EnCrypt = strEncrypted
End Function
Function DeCrypt(strEncrypted)
Dim strChar, iKeyChar, iStringChar, i
for i = 1 to Len(strEncrypted)
iKeyChar = (Asc(mid(g_Key,i,1)))
iStringChar = Asc(mid(strEncrypted,i,1))
iDeCryptChar = iKeyChar Xor iStringChar
strDecrypted = strDecrypted & Chr(iDeCryptChar)
next
DeCrypt = strDecrypted
End Function
Function ReadKeyFromFile(strFileName)
Dim keyFile, fso, f
set fso = Server.CreateObject("Scripting.FileSystemObject")
set f = fso.GetFile(strFileName)
set ts = f.OpenAsTextStream(1, -2)
Do While not ts.AtEndOfStream
keyFile = keyFile & ts.ReadLine
Loop
ReadKeyFromFile = keyFile
End Function
%>
tags: algoritmo para encriptar y desencriptar, encriptar desencriptar, encriptar y desencriptar, cadenas en asp, asp cadenas, encriptar textos, encriptar asp, textos encriptados, encriptar contrseña c#
En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por ASP TEAM. Compartimos recursos útiles de buena fe para formar una base de conocimiento en el desarrollo de aplicaciones en ASP Clásico.