Categorias

Encriptar dados de forma simples

Sendo utilizado para garantir maior segurança na transmissão de dados, este código contém funções bem simples e de fácil implementação para encriptar e desencriptar dados.

‘Testando o código
VarTeste = EncriptaStr(“1 ,2 ,3 testando…”)
Response.Write (VarTeste& “”)
Response.Write (DecriptaStr(VarTeste))

Const EncC1 = 109
Const EncC2 = 191
Const EncKey = 161

Function EncriptaStr(Texto)
    Dim TempStr, TempResult, TempNum, TempChar
    Dim TempKey
    Dim i
    TempStr = Texto
    TempResult = ""
    TempKey = ((EncKey * EncC1) + EncC2) Mod 65536
    For i = 1 To Len(TempStr)
        TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
        TempChar = Chr(TempNum)
        TempKey = (((Asc(TempChar) + TempKey) * EncC1) + EncC2) Mod 65536
        TempResult = TempResult & TempChar
    Next
    EncriptaStr = TempResult
End Function


Function DecriptaStr(Texto)
    Dim TempStr, TempResult, TempNum, TempChar
    Dim TempKey
    Dim i
    TempStr = Texto
    TempResult = ""
    TempKey = ((EncKey * EncC1) + EncC2) Mod 65536
    For i = 1 To Len(TempStr)
        TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
        TempChar = Chr(TempNum)
        TempKey = (((Asc(Mid(TempStr, i, 1)) + TempKey) * EncC1) + EncC2) Mod 65536
        TempResult = TempResult & TempChar
    Next
    DecriptaStr = TempResult
End Function

Private Function AuxShr(Numero, BShr)
    AuxShr = Int(Numero / (2 ^ BShr))
End Function

'Testando o código
VarTeste = EncriptaStr("1 ,2 ,3 testando...")
Response.Write (VarTeste& "
") Response.Write (DecriptaStr(VarTeste))