VBA Tips - Como Criptografar parte do código VBA - parte 1 - Versão mirim.


Inline image 1

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. 

Reference:

Leia também:

eBook: Série DONUT PROJECT 2015: Projetos e Códigos de Visual Basic for Applications - Autor: André Luiz Bernardes

eBook: Série Top 10 Funções: Top 10 Funções VBA para o Microsoft Excel - Autor: André Luiz Bernardes

eBook: Série Funções Poderosas: 13 Funções Poderosas no MS Excel - Autor: André Luiz Bernardes

eBook: Série Visual Basic For Application: Criando Logs de acesso: Dicas e Códigos de Visual Basic for Applications - Autor: André Luiz Bernardes

eBook: Série VBA Tips: Rastrei seus Dashboards, Scorecards, Reports, Relatórios, Planilhas e Aplicações - Dicas e Códigos - Autor: André Luiz Bernardes

eBook: Série Data Science: Big Data, Como? - Autor: André Luiz Bernardes

eBook: Série Smarter Analytic: 5 Previsões de Big Data - Autor: André Luiz Bernardes


Comente e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile Google+  Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

Nenhum comentário:

Postar um comentário

diHITT - Notícias