11446 - Comando para criptografar e descriptografar a senha do representante
Problema: Após a versão 5.7.4.1 do ERP, o campo E090REP.SenRep, equivalente ao campo Senha do cadastro de representantes (efetuado na tela F090REP - Cadastros / Representantes / Cadastro) é criptografado no momento da gravação da informação no banco de dados. Por motivos diversos (integração com sistemas de terceiros, por exemplo), é necessário comandos de criptografar e descriptografar esta senha. Quais são os comandos que podem ser utilizados?
Quando ocorre / onde se aplica: criptografia da senha do representante na base de dados do ERP
Solução: Solução 11446: Seguem os comandos a serem utilizados para criptografar/descriptografar a senha do Representante nas consultas efetuadas no banco de dados do ERP:
Criptografar
select UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(e.senrep))) as SenhaRep from e090rep e where e.codrep = <código representante>
Descriptografar
select UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_decode(UTL_RAW.cast_to_raw(e.senrep))) as SenhaRep from e090rep e where e.codrep = <código representante>
Quando ocorre / onde se aplica: criptografia da senha do representante na base de dados do ERP
Solução: Solução 11446: Seguem os comandos a serem utilizados para criptografar/descriptografar a senha do Representante nas consultas efetuadas no banco de dados do ERP:
Criptografar
select UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(e.senrep))) as SenhaRep from e090rep e where e.codrep = <código representante>
Descriptografar
select UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_decode(UTL_RAW.cast_to_raw(e.senrep))) as SenhaRep from e090rep e where e.codrep = <código representante>
Segue o script para criptografia e descriptografai de uma determinada senha na base64 em SQL Server:
* É importante saber que devido ao tipo de binário utilizado na construção da nossa ferramenta interna 'DBExplorer',
não será apresentado o resultado no editor, porém, em outros clients de banco, como o 'SQL Server Manager Studio', por exemplo,
será possível executar o script e visualizar a senha.
--Criptografar a senha 'SENIOR' em Base64:
--Criptografar a senha 'SENIOR' em Base64:
SELECT
CAST(N'' AS XML).value(
'xs:base64Binary(xs:hexBinary(sql:column(bin)))'
, 'VARCHAR(MAX)'
) Criptografada
FROM (
SELECT CAST('SENIOR' AS VARBINARY(MAX)) AS bin
) AS bin_sql_server_temp;
--Descriptografar a senha 'U0VOSU9S' em Base64:
SELECT
CAST(
CAST(N'' AS XML).value(
'xs:base64Binary(U0VOSU9S)'
, 'VARBINARY(MAX)'
)
AS VARCHAR(MAX)
) Descriptografada
;