Socorro! Perdi a senha do admim!

Em algum momento na vida, você poderá perder a senha do admin do ScadaBR, não entre em pânico, basta entrar no banco de dados do ScadaBR e mudar na tabela users a senha do usuário admin. Para isso, acesse o banco de dados do ScadaBR e execute a instrução abaixo:

`UPDATE `users` 
SET `password` = '0DPiKuNIrrVmD8IUCuw1hQxNqZc='
WHERE    
 `username` =`admin`;

Esta instrução SQL muda a senha do usuário admin para “admin”.
Se você usa o mysql, voce pode usar o comando mysql via console, o phpmyadmin ou Mysql Workbench (https://www.mysql.com/products/workbench/).

Se voce usa o Derby, é um pouco mais complicado, instale o SquirrelSQL Client deste endereço:
(http://squirrel-sql.sourceforge.net/)

Voce precisa no ato da instalação, em opções da instalação do PLUGIN Derby SQL e do pacote Translation Portuguese-BR

1 curtida

Vagner obrigado pela ajuda. Estava com um projeto com muitas informações e não conseguia acessar o banco, ainda que tenha certeza que a senha estava correta, a única forma de não perder todo tempo investido foi seguir seu procedimento. Valeu!!!

Para usuários do ScadaBR 1.2 usando derby, faça o seguinte:
Encerre o servidor TOMCAT e

abra o prompt do DOS ou Terminal do Linux e vá até a pasta lib

Windows:
cd C:\Arquivos de Programas\ScadaBR\

cd tomcat\webapps\ScadaBR\WEB-INF\lib

Linux:
cd /opt/ScadaBR/tomcat/

cd webapps/ScadaBR/WEB-INF/lib/

agora vamos conectar ao banco:

java -cp derbytools.jar;derby.jar org.apache.derby.tools.ij

o prompt ij> vai aparecer…

agora voce poderá executar qualquer instrução sql.

`UPDATE `users` 
SET `password` = '0DPiKuNIrrVmD8IUCuw1hQxNqZc='
WHERE    
 `username` =`admin`;

o comando exit; sai do ij

agora é só iniciar o servidor tomcat

Fico me perguntando se posso fazer um processo diferente mas semelhante a essa. Por exemplo durante a instalação eu mandar um comando em lote ao banco de dados onde o usuário define a senha e faço o processo reverso pra gerar o hash e salvar essa senha como admin, isso é possível?

A possibilidade até seria possível, contudo, você deverá no caso do mysql, ter previamente um usuário e senha com direitos de acesso e poder para alterar o banco e tabelas.

Para o caso do Derby, não posso garantir a mesma ideia.

Obrigado pela resposta Wagner. Andei estudando esse valor do hash e consegui fazer o processo reverso.

Ordem é:
SHA1 -> base64 (Entrada em Hexadecimal)

Usando esse site:
https://emn178.github.io/online-tools/sha1.html
Converte String pra SHA1, no caso seria ‘admin’
retorna:
d033e22ae348aeb5660fc2140aec35850c4da997
https://emn178.github.io/online-tools/base64_encode.html
Agora converte essa hash em base64 e selecionando tipo de entrada como ‘Hex’ me retorna exatamente esse valor:
0DPiKuNIrrVmD8IUCuw1hQxNqZc=

Não testei ainda, mas convertendo esses passos em um comando Mysql:
to_base64(unhex(sha1('admin')))

Com esssas informações creio que consigo alterar a senha do admin por uma outra definido pelo usuário. Vou deixar essas informações caso alguém achar útil.