Como Ofuscar Senhas Simples Usando VBA no Excel
A segurança de dados é uma preocupação constante em qualquer ambiente de trabalho, e o Excel, como uma das ferramentas mais usadas para gerenciamento de informações, não é exceção. A ofuscação de senhas simples usando VBA no Excel é uma técnica útil para proteger dados sensíveis, como credenciais de login ou informações pessoais, dentro de planilhas. Neste artigo, exploramos um código VBA que permite criptografar e descriptografar senhas ou outras strings de texto de forma simples e eficaz.
O código VBA apresentado utiliza funções para criptografar e descriptografar strings com base no valor ASCII dos caracteres. Embora este método não seja à prova de falhas e não ofereça o mesmo nível de segurança que técnicas de criptografia mais avançadas, ele é suficiente para proteger dados em um ambiente de uso interno, onde a exposição a ameaças externas é mínima.
O processo de criptografia envolve a conversão de cada caractere da string em outro caractere com base em seu valor ASCII, utilizando um deslocamento específico. Por exemplo, letras maiúsculas, minúsculas e números são deslocados por diferentes valores para gerar uma string criptografada que não é legível à primeira vista. A função de descriptografia reverte esse processo, retornando a string ao seu formato original.
A versão avançada do código inclui melhorias como tratamento de erros para evitar falhas ao tentar criptografar ou descriptografar strings vazias, além de um ajuste básico para lidar com outros caracteres além de letras e números. Essas melhorias tornam o código mais robusto e capaz de lidar com uma variedade maior de entradas de dados.
Ofuscar senhas ou outras informações confidenciais é uma prática recomendada para qualquer planilha do Excel que armazene dados sensíveis. Ao usar este código VBA, você pode aumentar a segurança de suas planilhas de maneira simples e eficaz, sem a necessidade de ferramentas externas ou conhecimentos avançados de segurança cibernética.
Option Explicit' Função para criptografar uma stringPublic Function Encrypt(ByVal icText As String) As StringDim icLen As IntegerDim icNewText As StringDim icChar As StringDim i As IntegericLen = Len(icText)' Loop através de cada caractere da stringFor i = 1 To icLenicChar = Mid(icText, i, 1)' Criptografia baseada no valor ASCII dos caracteresSelect Case Asc(icChar)Case 65 To 90 ' Letras maiúsculas (A-Z)icChar = Chr(Asc(icChar) + 127)Case 97 To 122 ' Letras minúsculas (a-z)icChar = Chr(Asc(icChar) + 121)Case 48 To 57 ' Números (0-9)icChar = Chr(Asc(icChar) + 196)Case 32 ' EspaçoicChar = Chr(32) ' Mantém o espaço inalteradoEnd Select' Concatena o caractere criptografado à nova stringicNewText = icNewText & icCharNextEncrypt = icNewTextEnd Function' Função para descriptografar uma stringPublic Function Decrypt(ByVal icText As String) As StringDim icLen As IntegerDim icNewText As StringDim icChar As StringDim i As IntegericLen = Len(icText)' Loop através de cada caractere da stringFor i = 1 To icLenicChar = Mid(icText, i, 1)' Descriptografia baseada no valor ASCII dos caracteresSelect Case Asc(icChar)Case 192 To 217 ' Letras maiúsculas (A-Z)icChar = Chr(Asc(icChar) - 127)Case 218 To 243 ' Letras minúsculas (a-z)icChar = Chr(Asc(icChar) - 121)Case 244 To 253 ' Números (0-9)icChar = Chr(Asc(icChar) - 196)Case 32 ' EspaçoicChar = Chr(32) ' Mantém o espaço inalteradoEnd Select' Concatena o caractere descriptografado à nova stringicNewText = icNewText & icCharNextDecrypt = icNewTextEnd Function
Versão Avançada
Option Explicit' Função para criptografar uma string com tratamento de errosPublic Function Encrypt(ByVal icText As String) As StringDim icLen As IntegerDim icNewText As StringDim icChar As StringDim i As Integer' Verifica se a string de entrada está vaziaIf icText = "" ThenEncrypt = ""Exit FunctionEnd IficLen = Len(icText)' Loop através de cada caractere da stringFor i = 1 To icLenicChar = Mid(icText, i, 1)' Criptografia baseada no valor ASCII dos caracteresSelect Case Asc(icChar)Case 65 To 90 ' Letras maiúsculas (A-Z)icChar = Chr(Asc(icChar) + 127)Case 97 To 122 ' Letras minúsculas (a-z)icChar = Chr(Asc(icChar) + 121)Case 48 To 57 ' Números (0-9)icChar = Chr(Asc(icChar) + 196)Case Else ' Outros caracteresicChar = Chr(Asc(icChar) + 100) ' Ajuste básico para outros caracteresEnd Select' Concatena o caractere criptografado à nova stringicNewText = icNewText & icCharNextEncrypt = icNewTextEnd Function' Função para descriptografar uma string com tratamento de errosPublic Function Decrypt(ByVal icText As String) As StringDim icLen As IntegerDim icNewText As StringDim icChar As StringDim i As Integer' Verifica se a string de entrada está vaziaIf icText = "" ThenDecrypt = ""Exit FunctionEnd IficLen = Len(icText)' Loop através de cada caractere da stringFor i = 1 To icLenicChar = Mid(icText, i, 1)' Descriptografia baseada no valor ASCII dos caracteresSelect Case Asc(icChar)Case 192 To 217 ' Letras maiúsculas (A-Z)icChar = Chr(Asc(icChar) - 127)Case 218 To 243 ' Letras minúsculas (a-z)icChar = Chr(Asc(icChar) - 121)Case 244 To 253 ' Números (0-9)icChar = Chr(Asc(icChar) - 196)Case Else ' Outros caracteresicChar = Chr(Asc(icChar) - 100) ' Ajuste básico para outros caracteresEnd Select' Concatena o caractere descriptografado à nova stringicNewText = icNewText & icCharNextDecrypt = icNewTextEnd Function
Exemplos de Uso
Armazenamento de Senhas em Planilhas: Quando você precisa armazenar senhas ou chaves de API em uma planilha do Excel, usar o código VBA para criptografar essas informações ajuda a protegê-las contra acesso não autorizado.
Proteção de Dados Pessoais: Se você trabalha com dados pessoais, como números de identificação ou informações financeiras, a criptografia desses dados pode ajudar a cumprir os requisitos de conformidade e proteger a privacidade dos indivíduos.
Envio de Planilhas Seguras: Quando você precisa compartilhar uma planilha que contém informações sensíveis com outros colegas ou departamentos, criptografar os dados mais críticos garante que eles permaneçam protegidos, mesmo que a planilha caia em mãos erradas.
Esses exemplos mostram como a ofuscação de senhas e dados sensíveis usando VBA no Excel pode ser uma solução prática e eficiente para melhorar a segurança de informações em seu ambiente de trabalho.
EncryptDecryptFunction.zip 10.91KB
Clique aqui e nos contate via What's App para avaliarmos seus projetos
Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com
Série de Livros nut Project
Série DONUT PROJECT 2021
Série DONUT PROJECT 2018
Série DONUT PROJECT 2015
Série DONUT PROJECT 2014
Nenhum comentário:
Postar um comentário