Views

Histats

Vitrine

VBA Tips - Criptografando 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. 


Tags: VBA, Tips, criptografia, decriptar, encriptar, criptografar





LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...