|
WX - Criptografia for Boller |
Débuté par BOLLER, 06 déc. 2016 15:15 - 3 réponses |
| |
| | | |
|
| |
Membre enregistré 3 665 messages Popularité : +175 (223 votes) |
|
Posté le 06 décembre 2016 - 15:15 |
Prezados,
Para quem gosta de trabalhar com criptografia e gosta de por um tempero todo especial só seu, só pra complicar um pouco, segue 3 funções interessantes que eu fiz para meu uso próprio.
Função IntegerToString = converte inteiros ASCII em caractères
Procedure IntegerToString(Texto)
sNovoTexto, sNovo is string = ""
IF Texto <> "" THEN
nTotal is int = Length(Texto) / 3
nPos is int = 1
LOOP (nTotal)
sNovo = Middle(Texto, nPos, 3)
sNovoTexto += Charact( sNovo )
nPos += 3
END
END
RESULT sNovoTexto
Procedure StringToInteger(Texto)
sNovoTexto is string = ""
IF Texto <> "" THEN
nTotal is int = Length(Texto)
nPos is int = 0
LOOP (nTotal)
nPos += 1
sNovoTexto += NumToString( Asc( Middle(Texto, nPos, 1) ), "03.00f" )
END
END
RESULT sNovoTexto
Procedure InvertString(Texto)
sNovoTexto is string = "" IF Texto <> "" THEN nTotal is int = Length(Texto) nPos is int = nTotal LOOP (nTotal) sNovoTexto += Middle(Texto,nPos,1) nPos -= 1 END END
RESULT sNovoTexto
Bons estudos
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 06 décembre 2016 - 15:17 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 665 messages Popularité : +175 (223 votes) |
|
Posté le 16 janvier 2017 - 15:18 |
Procedure CriptografiaBoller(Texto, CD)
IF Texto <> "" AND CD = "C" Texto = StringToInteger(Texto) Texto = InvertString(Texto) Texto = Crypt(Texto, "TESTE", cryptRC516+compressLZW, encodeBASE64) ELSE IF Texto <> "" AND CD = "D" Texto = Uncrypt(Texto, "TESTE", cryptRC516+compressLZW, encodeBASE64) Texto = InvertString(Texto) Texto = IntegerToString(Texto) ELSE Info("Nenhum valor informado na senha!") END
RESULT Texto
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 665 messages Popularité : +175 (223 votes) |
|
Posté le 16 janvier 2017 - 15:26 |
MODO DE USAR
Botao01:
Info(SET_Criptografia.CriptografiaBoller("SUPERVISOR","C"))
Botao02:
Info(SET_Criptografia.CriptografiaBoller("DKiEnwDpmHEcVHh1nF5lkTwOlo5CVT/OfIbaiod6qLiLLorveqEqn2PFIMk=","D"))
É possível que a cada processo seja colocado uma senha diferente, fazendo diversas camadas como fosse uma cebola que para entrar em cada camada tem que conhecer outro código, podendo vir via sms ou em uma tabela também com dados criptografados.
Nos dias de hoje devemos proteger os dados com diferentes técnicas e camadas de segurança e o acesso deve ser monitorado e assistido.
E ainda assim pode ocorrer vazamentos de informação, ou seja todo cuidado é pouco, use a criatividade e melhore o código sugerido.
Aguardo por novos exemplos sobre esse assunto.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 665 messages Popularité : +175 (223 votes) |
|
Posté le 04 avril 2017 - 04:16 |
Prezados,
No caso de sistemas operacioanis diferentes use o Cryptstandart/Uncryptstandart e se for transmitir usando XML ou json e nao pode ter o caracter < > { } para ficar integro use a tecnica a cima. Lembrando que o Enter ou final de linha nos sistemas operacionais sao diferentes:
Windows = CRLF
Linux = CR
Mac = LF
Portanto use essa nova função:
CRIPTAR
sMessage is Buffer = "Message to encrypt" bufKey is Buffer = HashString(HA_CKSUM_64, "password") bufEncrypt is Buffer = CryptStandard(sMessage, bufKey, cryptDES) Info(bufEncrypt )
DESCRIPTAR
sResult is Buffer = UncryptStandard(bufEncrypt, bufKey, cryptDES) Info(sResult)
CRIPTAR QUE NEM O BOLLER
sMessage is Buffer = "Message to encrypt" bufKey is Buffer = HashString(HA_CKSUM_64, "password") bufEncrypt is Buffer = CryptStandard(sMessage, bufKey, cryptDES) sResult = STRINGTOINTEGER(bufEncrypt ) Info(bufEncrypt )
DESCRIPTAR QUE NEM O BOLLER
sResult is Buffer = UncryptStandard(bufEncrypt, bufKey, cryptDES) sResult = INTEGERTOSTRING(sResult) Info(sResult)
Lembro que a tecnica cryptDES só aceita HA_CKSUM_64.
Maiores detalhes no Help.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 04 avril 2017 - 04:19 |
| |
| |
| | | |
|
| | | | |
| | |
|