Prisma - Linguagem de programação

Prisma-1.0 => Lista de Bugs => Tópico iniciado por: rafael online Março 12, 2018, 10:10:29 AM

Título: compilador pric não esconde partes do código
Enviado por: rafael online Março 12, 2018, 10:10:29 AM
Bom dia,

Estava querendo esconder o meu código fonte incluindo a parte textual do html.

Mas o compilador só compila a parte da linguagem.

Existe a possibilidade de descaracterizar o restante do código?

anexo uma imagem como o exemplo.


Título: Re:compilador pric não esconde partes do código
Enviado por: adalberto online Março 13, 2018, 04:23:45 PM
Bom dia,

O pric assim como o prismac não ofusca as constantes, acredito que nem em C isso seja possível.

Há um conjunto de funções de encriptação aes que peguei de uma biblioteca em Lua, com ele você pode encriptar os dados (strings) antes de inserir no código fonte do programa e para usar esse dado basta decriptá-lo antes de imprimi-lo.

Ou você pode simplesmente usar a base 64 ou hex se não exigir muita segurança.

Então esses são os passos:

1 - Codifique o dado com um programa ou função separado.
2 - cole a saída entre duplos colchetes atribuindo em uma variável no seu código fonte.
3 - ao imprimir essa variável apenas decripte antes.

Estou meio tumultuado de serviço, mas é uma boa ideia acrescentar uma forma de encriptar strings e constantes.

AES:  http://linguagemprisma.br4.biz/blog/modo_texto/aes-encriptacao-e-decriptacao-de-dados/

use base64    string.base64()  /  string.dec_base64();

use hexadecimal string.hex() / string.dec_hex();

exemplos:


local aes = inclua("aes");

//modos de encriptacao: aes.MODOECB, aes.MODOCBC, aes.MODOOFB, aes.MODOCFB
//tamanho senhas: aes.AES128, aes.AES192, aes.AES256

local senha =  "asdfadsfaljaASDFASDFAsdfasd";
local txt =  "Linguagem Prisma!!!";

local enc = aes.encripte(senha,txt, aes.AES256, aes.MODOCFB);

poe'---------------------------------\n\n';

imprima("ENC:", enc);

imprima("DEC:", aes.decripte(senha,enc,aes.AES256,aes.MODOCFB) );




Prisma 1.0.104  linguagemprisma.br4.biz (jul 2017)
> a = string.hex('olá');
> imprima(a)
6f6cc3a1
> b = string.dec_hex(a);
> imprima(b);
olá
> a = string.base64('olá');
> imprima(a);
b2zDoQ==
> b = string.dec_base64(a);
> imprima(b);
olá
>



Espero ter dado um caminho, até mais.