Como bom desenvolvedor, sabe que seus códigos VBA podem ser facilmente quebrados por inúmeros utilitários disponíveis por aí. O modo como estrutura as suas strings SQL podem ser facilmente devassadas, as suas funções podem ser utilizadas sem a sua autorização.
Como podemos proteger o conteúdo que desenvolvemos?
Bem, talvez possamos criptografar parte do código do VBE, assim a pessoa que o utilizasse necessitaria conhecer a nossa chave de decriptação. Como?
Neste artigo, abordaremos como efetuar a criptografia da String SQL que utilizamos no MS Excel, MS Access, MS Powerpoint ou no MS Outlook.
Nos próximos artigos ampliaremos essa visão ensinando como inserir módulos a partir de templates pré-formatados, automatizando o modo como desenvolvemos as nossas próprias aplicações. Assim, estaremos usufruindo a automação em todos os níveis. Desde o desenvolvimento até a implementação.
Geralmente nossos códigos que processam códigos SQL estão estruturados assim:
Exemplo no VBA Access:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim intResult As Integer
Dim strSQL As String
Set db = CurrentDb
strSQL = "SELECT COUNT(*) As RecordCount FROM tblProducts"Set rs = db.OpenRecordset(strSQL, dbOpenSnapShot)
intResult = rs("RecordCount")
rs.Close
db.Close
O que desejamos é tornar o conteúdo da String SQL (strSQL) ilegível ao usuário que acessar o nosso código VBA, de modo que ele não compreenda o conteúdo da String. A versão criptografada ficaria assim:Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim intResult As Integer
Dim strSQL As String
Set db = CurrentDb
strSQL = Cripto ("¦Š˜Š†¨@†žªœ¨PTR@‚æ@¤ÊÆÞäȆÞêÜè@Œ¤žš@èÄØ äÞÈêÆèæ")
Set rs = db.OpenRecordset(strSQL, dbOpenSnapShot)
intResult = rs("RecordCount")
rs.Close
db.Close
Devemos converter o conteúdo dos comandos SQL pouco antes do seu processamento. Desse modo resguardamos a string.
Também podemos fazer o mesmo quanto a gravação de conteúdo nas nossas tabelas. antes de efetuarmos a gravação de algum dado na tabela, efetuamos uma criptografia no código. E só descriptografamos antes do o utilizarmos nos nossos processos, tais como: Relatórios, Cálculos, Gráficos, Dashboards, etc.
Possivelmente está se perguntando: Mas cadê a função que efetua a criptografia? Bem, existem inúmeras funções de criptografia por aí. Neste link poderá ver diversas delas listadas, ficando a sua escolha eleger a que melhor se adapta a sua necessidade.
Tags: VBA, Tips, criptografia, decriptar, encriptar, criptografar