Estou tentando fazer a mesma conversão, para inserir e ler dados nessa tabela de notas, mas não estou conseguindo converter o texto para um string legível.
Pode informar como você conseguiu? O código converte de hex para decimal e depois gera um string, mas eu não consegui gerar a string a partir do banco, aplicando esses procedimentos.
XML para Nota Fiscal Eletronica!" em MK-AUTH Pedro Filho, meu contador está me pedindo um arquivo xml ou outro formato , para lançamento das NFE. Atualmente ele está fazendo manualmente, mas segundo ele os outros clientes enviam esse arquivo para lançar automaticamente. Pela quantidade grande de notas está sendo trabalhoso e tomando muito tempo ( querendo aumentar os honorários...). o contador utiliza o sistema da TRON. Aguardando retorno o mais Rápido Possível.
Olá Rafael, meus parabéns pela iniciativa. Eu estou precisando muito recuperar as notas do BD, mas não entendo nada de Prisma, você tentou portar para php?
primeiro o texto é criptografado com base64 use essa função para descriptografar:
funcao string.dec_hex(str) tente(tipo(str)=='string',"\nErro: espera-se `string' em vez de: " .. tipo(str) ); se str == '' entao retorne ''; fim local str_formate, str_car = string.formate,string.car; local tmp = ''; local hh,c; para i=1, #str, 2 inicio //de 1 até tamanho da string, de dois em dois; hh = str:corte(i,i+1); c = convnumero(string.formate("0x%s",hh)); //transforma o hexa em dec ex.: 'ff' em 255 tmp = tmp .. str_car(c); fim retorne tmp; fim
segundo o token é garado usando o código resumido 'hmac' com encriptação md5 e uma senha de três dígitos:
funcao CodigoResumido(crip,senha,valor)
local a = es.pabra('echo -n "'..valor..'" | openssl '..crip..' -hmac "'..senha..'"')
local b = a:leia("*t") retorne b:separe('=(.-)[\r\n].*$'):apare()
fim
'SELECT * FROM sis_notas where token = "..CodigoResumido('md5','cli',v.Id)..";'
cada tipo de nota tem uma chave, não conheço todas, mas segue algumas: 'cli' = cliente, 'fat'=fatura, 'sup'= suporte
talbez dê pra portar para o PHP usando hmac, senão rode no terminal mesmo.
Respostas
Prezado Marcos, bom dia.
Estou tentando fazer a mesma conversão, para inserir e ler dados nessa tabela de notas, mas não estou conseguindo converter o texto para um string legível.
Pode informar como você conseguiu? O código converte de hex para decimal e depois gera um string, mas eu não consegui gerar a string a partir do banco, aplicando esses procedimentos.
Boa Noite Flávio Batista,
Poderia publicar aqui no fórum a forma que conseguiu?
Att, Aleff Meykson
Contato: 82 9 8748-1848
Marcos Flávio Batista disse:
Sim, após quebrar muito a cabeça.
Adeilton Junior disse:
Alguem conseguiu?
Boa Noite!
XML para Nota Fiscal Eletronica!" em MK-AUTH
Pedro Filho, meu contador está me pedindo um arquivo xml ou outro formato , para lançamento das NFE. Atualmente ele está fazendo manualmente, mas segundo ele os outros clientes enviam esse arquivo para lançar automaticamente. Pela quantidade grande de notas está sendo trabalhoso e tomando muito tempo ( querendo aumentar os honorários...). o contador utiliza o sistema da TRON. Aguardando retorno o mais Rápido Possível.
Olá Rafael, meus parabéns pela iniciativa. Eu estou precisando muito recuperar as notas do BD, mas não entendo nada de Prisma, você tentou portar para php?
O código é feito em prisma: http://linguagemprisma.br4.biz/prisma_forum/index.php
primeiro o texto é criptografado com base64 use essa função para descriptografar:
funcao string.dec_hex(str)
tente(tipo(str)=='string',"\nErro: espera-se `string' em vez de: " .. tipo(str) );
se str == '' entao retorne ''; fim
local str_formate, str_car = string.formate,string.car;
local tmp = '';
local hh,c;
para i=1, #str, 2 inicio //de 1 até tamanho da string, de dois em dois;
hh = str:corte(i,i+1);
c = convnumero(string.formate("0x%s",hh)); //transforma o hexa em dec ex.: 'ff' em 255
tmp = tmp .. str_car(c);
fim
retorne tmp;
fim
segundo o token é garado usando o código resumido 'hmac' com encriptação md5 e uma senha de três dígitos:
funcao CodigoResumido(crip,senha,valor)
local a = es.pabra('echo -n "'..valor..'" | openssl '..crip..' -hmac "'..senha..'"')
local b = a:leia("*t") retorne b:separe('=(.-)[\r\n].*$'):apare()
fim
'SELECT * FROM sis_notas where token = "..CodigoResumido('md5','cli',v.Id)..";'
cada tipo de nota tem uma chave, não conheço todas, mas segue algumas: 'cli' = cliente, 'fat'=fatura, 'sup'= suporte
talbez dê pra portar para o PHP usando hmac, senão rode no terminal mesmo.
Captura de tela de 2018-01-08 03-27-59.png
posta ai, se alguém precisar no futuro...
Rafael Alves Lemos disse:
Pedro achei a solução, quero saber se posso postar aqui o código fonte da função?