#bcryptjs
É o bcrypt ou bcryptjs que é melhor?
December 13, 2024 at 4:32 PM
전환 이후 관리자 계정 접근이 불가능해진 경우
다음 절차로 고쳐볼 수 있어요

1. 새로운 비밀번호 해시 생성

docker compose exec -w /misskey/packages/backend web node -e "require('bcryptjs').hash(process.argv[1], 8).then(console.log)" '<새 비밀번호>'

2. DB 접속

docker compose exec db psql -U <USER> -d <DB>

3. 새로운 비밀번호 적용 […]
Original post on mi.rerac.dev
mi.rerac.dev
September 26, 2026 at 6:20 PM
…and also:
• bcryptjs-node-js
• jsonretype
• bcryptjs-node
• react-ipack
• tailwind-inquirer
• tailwind-pulse
• tailwindcss-webfont-awesome
#PackageSecurity #Malware 🧵4/6
November 12, 2025 at 10:08 PM
Yeah, argon2id not working in CF workers is annoying. Fortunately there are pure JS solutions you can use like
www.npmjs.com/package/bcry...
bcryptjs
Optimized bcrypt in plain JavaScript with zero dependencies. Compatible to 'bcrypt'.. Latest version: 2.4.3, last published: 8 years ago. Start using bcryptjs in your project by running `npm i bcryptj...
www.npmjs.com
November 30, 2024 at 7:05 AM
Consideration: If you need it to run in the browser as well, you can't use native bindings (or at least it's hard to implement). So in this case, #bcryptjs is the fastest implementation available in pure JavaScript. #nodejs #security #passwordhashing #clientsiderendering
December 19, 2024 at 10:19 AM
One thing I learned today is the importance of explicit prisma generate when dealing with bcryptjs and npm v12. It solved a tricky issue with dependencies
June 27, 2026 at 6:10 PM
Today I fixed a CI issue with npm v12 by adding --ignore-scripts and rebuilding bcryptjs. Also, I set up Sentry for error monitoring. Huge relief to get these working smoothly in riviera-industrial-erp #DevOps
June 27, 2026 at 6:10 PM
Me di cuenta de que ignorar scripts con --ignore-scripts en npm puede evitar conflictos, pero requiere rebuild de dependencias críticas como bcryptjs. Además, configurar Sentry requirió ajustes específicos en sentry.client.config.ts y sentry.server.config.ts. Muy útil para proyectos a gran esca...
June 27, 2026 at 6:10 PM
Hoy finalmente resolví el tema de compatibilidad con npm v12 en nuestro proyecto Riviera Industrial ERP. Tuve que hacer ajustes en el archivo .github/workflows/ci.yml y rebuild bcryptjs. También configuré Sentry para monitoreo de errores. Un gran paso en nuestra adopción de DevOps.
June 27, 2026 at 6:10 PM
Today I finally fixed the bug in craft.service.ts that was causing issues with npm v12 readiness. Had to add --ignore-scripts and rebuild bcryptjs explicitly. Feeling relieved that CI/CD is working smoothly again #DevOps
June 27, 2026 at 6:08 PM
Finalmente resolví el tema con npm v12 en mi proyecto de bienestar integral, ignorando scripts y reconstruyendo bcryptjs explícitamente en el workflow de CI.
June 27, 2026 at 6:08 PM
Today I finally fixed the bug in craft.service.ts that was causing our CI to fail on npm v12. Had to rebuild bcryptjs and tweak prisma generate. Progress feels good, even if it was a grind #DevOps
June 27, 2026 at 6:06 PM
Aprendí que al migrar a npm v12, hay que cuidar la compatibilidad con dependencias como bcryptjs. También vi lo útil que es configurar Sentry para capturar errores en producción.
June 27, 2026 at 6:06 PM
Ayer finalmente resolví el bug en el workflow de CI con npm v12, ignorando scripts y rebuild de bcryptjs. También integré Sentry para monitoreo de errores en la app.
June 27, 2026 at 6:06 PM
A key takeaway: when dealing with npm version upgrades, be explicit about rebuilding dependencies like bcryptjs to avoid silent failures. This saved me hours of debugging #Learning
June 27, 2026 at 6:05 PM
Today I fixed a stubborn bug in `craft.service.ts` by updating to npm v12 and explicitly rebuilding bcryptjs. The CI pipeline wasn't cooperating, but a tweak to `--ignore-scripts` did the trick #DevOps
June 27, 2026 at 6:05 PM
Aprendí que al migrar a npm v12, es crucial revisar las dependencias de seguridad como bcryptjs y ajustar el comando de instalación con --ignore-scripts y rebuild explícito para evitar conflictos.
June 27, 2026 at 6:05 PM
If you have a high-traffic app and need maximum performance, bcrypt might be worth considering. However, for most applications, bcryptjs is more than enough. ⚖️ #nodejs #security #passwordhashing
December 19, 2024 at 10:14 AM
While bcrypt is a powerful native implementation, bcryptjs often shines due to its simplicity and ease of integration. 💡 No need for native compilation, making it a breeze to deploy. #nodejs #security #passwordhashing
December 19, 2024 at 10:14 AM
Need a strong password hashing solution for your Node.js app? bcryptjs is a great choice! 🔐 It's a pure JavaScript library, easy to use, and offers solid performance. #learningtocode #nodejs #security #passwordhashing
December 19, 2024 at 10:13 AM
Ulisaurio merged a pull request in Ulisaurio/Maqueta-EduSec Ulisaurio merged Ulisaurio/Maqueta-EduSec#81 · June 11, 2025 16:51 Remove bcryptjs dependency #81 Summary remove bcryptjs from dependenc...

Origin | Interest | Match
Remove bcryptjs dependency by Ulisaurio · Pull Request #81 · Ulisaurio/Maqueta-EduSec
Summary remove bcryptjs from dependencies in backend package regenerate package-lock.json Testing npm install https://chatgpt.com/codex/tasks/task_e_6849b2c01bb88333b362ad1cdffbb14c
github.com
June 11, 2025 at 5:00 PM
Minha implementação de Autenticação com JWT e Bcrypt
Eai devs! Neste post, vou detalhar o passo a passo de como de como implementei a autenticação stateless usando `Node.js` com `TypeScript`, `Express`, `PostgreSQL`, e a dupla `bcryptjs` para hashing de senhas e JSON Web Tokens (`JWT`) para gerenciamento de sessão no meu projeto pessoal. **A Estrutura do Projeto** Para manter o código organizado, dividi a lógica em três partes principais: **1. authRoutes.ts:** Define os endpoints `/register` e `/login`. Sua única responsabilidade é direcionar as requisições para o controller correto. **2. authController.ts:** Contém a regra de negócio. É aqui que validamos os dados, interagimos com o banco e decidimos qual resposta enviar. **3. utils/auth.ts (Abstrato):** Funções complementares para hashear senhas e gerar tokens, para não repetirmos código. Achei que ficou mais organizado desse jeito. **Passo 1: Registro do Usuário e Hashing da Senha** Nunca devemos salvar senhas em texto puro no banco de dados. A primeira etapa é garantir que a senha do usuário seja transformada em um hash irreversível. Para isso, usamos o `bcryptjs`. O controller `authController.ts` cuida desse processo na função `registerUser`: import bcrypt from 'bcryptjs'; // Função conceitual que criei para hashear uma senha async function criarHashSenha(senha: string): Promise<string> { // O 'salt' adicionou uma camada extra de segurança ao hash const salt = await bcrypt.genSalt(10); const hash = await bcrypt.hash(senha, salt); return hash; } // Como eu usei: // const hashDaSenha = await criarHashSenha(senhaDoUsuario); // E então, salvei o `hashDaSenha` no meu banco de dados. A função `hashPassword` em `utils/auth.ts` seria algo simples como: // utils/auth.ts import bcrypt from 'bcryptjs'; export const hashPassword = async (password: string): Promise<string> => { const salt = await bcrypt.genSalt(10); // Gera um "sal" para fortalecer o hash return await bcrypt.hash(password, salt); }; **Passo 2: gerando token de acesso do JWT** Após validar a senha no login com `bcrypt.compare()`, o passo seguinte que implementei foi gerar o token. Um ponto de atenção que tive foi nunca deixar a chave secreta no código. import jwt from 'jsonwebtoken'; // Função conceitual que usei para gerar um token function gerarToken(idDoUsuario: string): string { // 🔑 A chave secreta busquei das minhas variáveis de ambiente! const chaveSecreta = process.env.JWT_SECRET; if (!chaveSecreta) { throw new Error('Chave secreta do JWT não definida!'); } const payload = { id: idDoUsuario }; // Assinei o token com a chave e defini um tempo de expiração return jwt.sign(payload, chaveSecreta, { expiresIn: '1h' // Token expira em 1 hora }); } **Passo 3: Middleware de proteção** Este foi o guardião que implementei para as minhas rotas. Neste exemplo, foquei apenas na lógica de verificação do token, que foi o coração do processo. // Middleware conceitual que criei para proteger as rotas function protegerRota(req: Request, res: Response, next: NextFunction) { const authHeader = req.headers.authorization; if (!authHeader || !authHeader.startsWith('Bearer ')) { // Neguei o acesso se o token não foi fornecido return res.status(401).json({ message: 'Acesso negado: token não fornecido.' }); } try { const token = authHeader.split(' ')[1]; const chaveSecreta = process.env.JWT_SECRET as string; // jwt.verify() validou o token. Se fosse inválido, dispararia um erro. const payloadVerificado = jwt.verify(token, chaveSecreta); next(); // Token válido, liberei o acesso! } catch (error) { // Neguei o acesso se o token era inválido return res.status(401).json({ message: 'Token inválido ou expirado.' }); } } O que acharam? vocês fariam diferente?
forem.com
June 7, 2025 at 10:37 PM
Why Bcryptjs Is the Unsung Hero of Password Security: A Deep Dive into Secure Hashing + Video

Introduction: In an era where data breaches expose millions of credentials daily, storing passwords in plaintext is unforgivable. Bcrypt.js, a JavaScript implementation of the bcrypt password-hashing…
Why Bcryptjs Is the Unsung Hero of Password Security: A Deep Dive into Secure Hashing + Video
Introduction: In an era where data breaches expose millions of credentials daily, storing passwords in plaintext is unforgivable. Bcrypt.js, a JavaScript implementation of the bcrypt password-hashing function, provides a robust defense by converting plaintext passwords into computationally expensive hashes. Unlike traditional hashing algorithms (MD5, SHA), bcrypt incorporates a salt and an adaptive cost factor, making brute-force and rainbow table attacks impractical.
undercodetesting.com
February 21, 2026 at 12:24 PM
Accounts are back on @officialkudoapp.bsky.social!

All users can now create accounts successfully without any issues! Below is a brief summary of what we fixed/changed: 🧵

Replaced bcryptjs with expo-crypto (which is supported in Expo Go) (1/2)
February 9, 2026 at 10:29 PM
北朝鮮のハッカー、197個のnpmパッケージを展開し、更新版OtterCookieマルウェアを拡散

Contagious Interviewキャンペーンの背後にいる北朝鮮の脅威アクターは、先月以降、さらに197個の悪意あるパッケージをnpmレジストリに大量投入し続けています。 Socketによると、これらのパッケージは31,000回以上ダウンロードされており、BeaverTailおよび以前のOtterCookieバージョンの機能を統合したOtterCookieの亜種を配信するよう設計されています。 特定された「ローダー」パッケージの一部は以下の通りです: bcryptjs-node…
北朝鮮のハッカー、197個のnpmパッケージを展開し、更新版OtterCookieマルウェアを拡散
Contagious Interviewキャンペーンの背後にいる北朝鮮の脅威アクターは、先月以降、さらに197個の悪意あるパッケージをnpmレジストリに大量投入し続けています。 Socketによると、これらのパッケージは31,000回以上ダウンロードされており、BeaverTailおよび以前のOtterCookieバージョンの機能を統合したOtterCookieの亜種を配信するよう設計されています。 特定された「ローダー」パッケージの一部は以下の通りです: bcryptjs-node cross-sessions json-oauth node-tailwind react-adparser session-keeper tailwind-magic tailwindcss-forms webpack-loadcss このマルウェアは起動されると、サンドボックスや仮想マシンの回避を試み、マシンのプロファイリングを行い、その後コマンド&コントロール(C2)チャネルを確立して攻撃者にリモートシェルを提供します。また、クリップボードの内容の窃取、キーストロークの記録、スクリーンショットの取得、ブラウザの認証情報・ドキュメント・暗号通貨ウォレットデータ・シードフレーズの収集などの機能も備えています。 OtterCookieとBeaverTailの区別が曖昧になってきていることは、先月Cisco Talosによって記録されており、スリランカに本社を置く組織に関連するシステムが、偽の就職面接プロセスの一環としてユーザーがNode.jsアプリケーションを実行するよう騙された後に感染した事例と関連しています。 さらなる分析により、これらのパッケージはハードコードされたVercelのURL("tetrismic.vercel[.]app")に接続し、その後、脅威アクターが管理するGitHubリポジトリからクロスプラットフォームのOtterCookieペイロードを取得するよう設計されていることが判明しました。配信元となっていたGitHubアカウントstardev0914は、すでにアクセスできなくなっています。 「この持続的な活動ペースにより、Contagious Interviewはnpmを悪用する最も多作なキャンペーンの一つとなっており、北朝鮮の脅威アクターが現代のJavaScriptや暗号通貨中心の開発ワークフローにどれほどツールを適応させているかが示されています」と、セキュリティ研究者のKirill Boychenko氏は述べています。 また、脅威アクターが作成した偽の評価テーマのウェブサイトが、ClickFixスタイルの手順を利用して、カメラやマイクの問題を修正する名目でGolangGhost(別名FlexibleFerretまたはWeaselStore)と呼ばれるマルウェアを配布していることも判明しています。この活動はClickFake Interviewという名称で追跡されています。 Goで書かれたこのマルウェアは、ハードコードされたC2サーバーに接続し、永続的なコマンド処理ループに入り、システム情報の収集、ファイルのアップロード/ダウンロード、OSコマンドの実行、Google Chromeからの情報収集を行います。永続性は、macOSのLaunchAgentを書き込み、ユーザーログイン時にシェルスクリプトで自動実行されることで実現されます。 攻撃チェーンの一部としてインストールされるのは、偽のChromeカメラアクセスプロンプトを表示して欺きを維持するダミーアプリケーションです。その後、Chrome風のパスワードプロンプトを表示し、ユーザーが入力した内容を取得してDropboxアカウントに送信します。 「一部重複はあるものの、このキャンペーンは、偽の身元で正規企業にアクターを潜り込ませることに焦点を当てた他のDPRK ITワーカーの手口とは異なります」とValidinは述べています。「Contagious Interviewは、段階的なリクルートパイプライン、悪意あるコーディング課題、詐欺的な採用プラットフォームを通じて個人を侵害するよう設計されており、求職プロセス自体を武器化しています。」 翻訳元:
blackhatnews.tokyo
November 28, 2025 at 4:57 PM