Ir para conteúdo
  • Cadastre-se
  • 0

Hash - Crypto - Whirlpool2 - Lucera2


Leonardo Alves ツ

Pergunta

Galera, socorro!
EHUAHEA
Será que alguém que tenha mais experiência com nodejs, javascrript/typescript pode me esclarecer qual o modeo que usa para cryptografar a conta e funcionar numa revisão lucera2?
Criando a conta pelo site está mega impossível fazer dar match com o jogo porque eu não sei que tipo de hash eles  usam na senha.

Observação eu não trabalho com PHP eu estou fazendo o site em node js.
Alguém? Lembrando que bibliotecas como Whirlpool e Whirlpool2 estão indisponíveis, seria possível fazer isso funcional em js puro?

O que a mente do homem pode conceber e acreditar, pode ser alcançada.

 

 

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts recomendados

  • 0
2 horas atrás, Leonardo Alves ツ disse:

Galera, socorro!
EHUAHEA
Será que alguém que tenha mais experiência com nodejs, javascrript/typescript pode me esclarecer qual o modeo que usa para cryptografar a conta e funcionar numa revisão lucera2?
Criando a conta pelo site está mega impossível fazer dar match com o jogo porque eu não sei que tipo de hash eles  usam na senha.

Observação eu não trabalho com PHP eu estou fazendo o site em node js.
Alguém? Lembrando que bibliotecas como Whirlpool e Whirlpool2 estão indisponíveis, seria possível fazer isso funcional em js puro?

Usa sha1 que ele aceita 

  • Gostei 1

Te Ajudei? Curte ai para me ajudar!
Ass.: Denkyto (discord)

banner-pdl.png.f366c9249de658e0a684c96487f0950d.png

 

Link para o comentário
Compartilhar em outros sites


  • 0

@Denky show irmão eu consegui aqui com node js deu match no jogo agora só fazer as atualizações como change pass e etc..
Muito obrigado! Tópico resolvido.

  • Gostei 1

O que a mente do homem pode conceber e acreditar, pode ser alcançada.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Meu mano, você precisa instalar um pacote específico, pois eles usam uma versão customizada dessa biblioteca, para nodejs javascript/typescript vc vai precisar dessa lib aqui.

hash-wasm > 

O conteúdo está oculto, favor efetuar login ou se cadastrar!


Um exemplo do util que construi para meu modulo de encrypt.

 

import { createHash } from "crypto";
import { whirlpool } from "hash-wasm";
 
/**
 * Hashes a password using the specified encryption method.
 * @param password The plaintext password to be hashed.
 * @returns The hashed password in Base64 or Hex encoding.
 */
export const hashPassword = async (password: string): Promise<string> => {
  // Pega o método de criptografia do ambiente ou usa 'sha1' como padrão
  const PASSWORD_ENCRYPTION_METHOD = strapi.config.get("server.encriptionMethod") as string;
  const encryptionMethod = (PASSWORD_ENCRYPTION_METHOD || "sha1").toLowerCase();
 
  // Define os métodos suportados
  const hashMethods: Record<string, () => Promise<string>> = {
    md5: async () => createHash("md5").update(password).digest("hex"),
    sha1: async () => createHash("sha1").update(password).digest("base64"),
    whirlpool: async () => {
      const hashHex = await whirlpool(password); // Gera hash em HEX
      return Buffer.from(hashHex, "hex").toString("base64"); // Converte para Base64
    },
    "sha3-256": async () => createHash("sha3-256").update(password).digest("base64"),
  };
 
  // Se o método não for suportado, lança um erro
  if (!(encryptionMethod in hashMethods)) {
    throw new Error(`Unsupported encryption method: ${encryptionMethod}`);
  }
 
  return await hashMethods[encryptionMethod]();
};

 

  • Gostei 1
Link para o comentário
Compartilhar em outros sites

  • 0
3 minutos atrás, L2Friends disse:

Meu mano, você precisa instalar um pacote específico, pois eles usam uma versão customizada dessa biblioteca, para nodejs javascript/typescript vc vai precisar dessa lib aqui.

hash-wasm > 

O conteúdo está oculto, favor efetuar login ou se cadastrar!


Um exemplo do util que construi para meu modulo de encrypt.

 

import { createHash } from "crypto";
import { whirlpool } from "hash-wasm";
 
/**
 * Hashes a password using the specified encryption method.
 * @param password The plaintext password to be hashed.
 * @returns The hashed password in Base64 or Hex encoding.
 */
export const hashPassword = async (password: string): Promise<string> => {
  // Pega o método de criptografia do ambiente ou usa 'sha1' como padrão
  const PASSWORD_ENCRYPTION_METHOD = strapi.config.get("server.encriptionMethod") as string;
  const encryptionMethod = (PASSWORD_ENCRYPTION_METHOD || "sha1").toLowerCase();
 
  // Define os métodos suportados
  const hashMethods: Record<string, () => Promise<string>> = {
    md5: async () => createHash("md5").update(password).digest("hex"),
    sha1: async () => createHash("sha1").update(password).digest("base64"),
    whirlpool: async () => {
      const hashHex = await whirlpool(password); // Gera hash em HEX
      return Buffer.from(hashHex, "hex").toString("base64"); // Converte para Base64
    },
    "sha3-256": async () => createHash("sha3-256").update(password).digest("base64"),
  };
 
  // Se o método não for suportado, lança um erro
  if (!(encryptionMethod in hashMethods)) {
    throw new Error(`Unsupported encryption method: ${encryptionMethod}`);
  }
 
  return await hashMethods[encryptionMethod]();
};

 

eu demorei pra perceber que era customizada kkkk

ate eu ir no codigo fonte pra pegar e refazer em python mano!

Te Ajudei? Curte ai para me ajudar!
Ass.: Denkyto (discord)

banner-pdl.png.f366c9249de658e0a684c96487f0950d.png

 

Link para o comentário
Compartilhar em outros sites

  • 0
4 minutos atrás, Denky disse:

eu demorei pra perceber que era customizada kkkk

ate eu ir no codigo fonte pra pegar e refazer em python mano!

Então, eu testei as libs mais comuns e nenhum delas funcionou, abri o .jar do lucera e abri o pacote que faz o encriypt e vi que eles usavam uma versão de 2003 super específica, mas que bom que tinha trabalhado com essa lib que mencionei em uma empresa um tempo atrás e lembrei que nela tinha essa versão.

  • Gostei 1
Link para o comentário
Compartilhar em outros sites

  • 0
21 horas atrás, L2Friends disse:

Meu mano, você precisa instalar um pacote específico, pois eles usam uma versão customizada dessa biblioteca, para nodejs javascript/typescript vc vai precisar dessa lib aqui.

hash-wasm > 

O conteúdo está oculto, favor efetuar login ou se cadastrar!


Um exemplo do util que construi para meu modulo de encrypt.

 

import { createHash } from "crypto";
import { whirlpool } from "hash-wasm";
 
/**
 * Hashes a password using the specified encryption method.
 * @param password The plaintext password to be hashed.
 * @returns The hashed password in Base64 or Hex encoding.
 */
export const hashPassword = async (password: string): Promise<string> => {
  // Pega o método de criptografia do ambiente ou usa 'sha1' como padrão
  const PASSWORD_ENCRYPTION_METHOD = strapi.config.get("server.encriptionMethod") as string;
  const encryptionMethod = (PASSWORD_ENCRYPTION_METHOD || "sha1").toLowerCase();
 
  // Define os métodos suportados
  const hashMethods: Record<string, () => Promise<string>> = {
    md5: async () => createHash("md5").update(password).digest("hex"),
    sha1: async () => createHash("sha1").update(password).digest("base64"),
    whirlpool: async () => {
      const hashHex = await whirlpool(password); // Gera hash em HEX
      return Buffer.from(hashHex, "hex").toString("base64"); // Converte para Base64
    },
    "sha3-256": async () => createHash("sha3-256").update(password).digest("base64"),
  };
 
  // Se o método não for suportado, lança um erro
  if (!(encryptionMethod in hashMethods)) {
    throw new Error(`Unsupported encryption method: ${encryptionMethod}`);
  }
 
  return await hashMethods[encryptionMethod]();
};

 

Ótimo brother, eu estava tentando dar npm install whirlpool e é npm install hash-wasm

LOL agora ele instalou a biblioteca correta, eu havia conseguido aqui com um código diferente do seu usando crypto.

Convém substituir?

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Em todo caso lembrei que meu backend é em javascript puro.
Aí eu atualizaria o seu código para:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

O que a mente do homem pode conceber e acreditar, pode ser alcançada.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Leonardo Alves ツ disse:

Ótimo brother, eu estava tentando dar npm install whirlpool e é npm install hash-wasm

LOL agora ele instalou a biblioteca correta, eu havia conseguido aqui com um código diferente do seu usando crypto.

Convém substituir?

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

Em todo caso lembrei que meu backend é em javascript puro.
Aí eu atualizaria o seu código para:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

Se você usa javascript puro é só remover as tipagens. 😄 e claro as coisas referentes ao strapi ^^

Crypto você vai usar para fazer o sha1, md5 e outras coisas, eu tbm uso ele..

Editado por L2Friends
  • Gostei 1
Link para o comentário
Compartilhar em outros sites

  • 0
17 horas atrás, L2Friends disse:

Se você usa javascript puro é só remover as tipagens. 😄 e claro as coisas referentes ao strapi ^^

Crypto você vai usar para fazer o sha1, md5 e outras coisas, eu tbm uso ele..

Gratidão pela resposta e ajuda de ambos.
Tmj brothers

  • Gostei 2

O que a mente do homem pode conceber e acreditar, pode ser alcançada.

 

 

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...



×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.