Reduce bcrypt iterations from 15 to 12 (common for 2025 processors)

This commit is contained in:
Nicolas
2025-04-28 12:12:56 +02:00
parent c00b64d666
commit b5e96e02c3
4 changed files with 72 additions and 72 deletions

View File

@@ -15,7 +15,7 @@ export const editUser = async (id: string, data: Prisma.UserUpdateInput) => {
export const resetPassword = async (id: string) => { export const resetPassword = async (id: string) => {
const password = Math.random().toString(36).slice(-8); const password = Math.random().toString(36).slice(-8);
const hashedPassword = await bcrypt.hash(password, 15); const hashedPassword = await bcrypt.hash(password, 12);
const user = await prisma.user.update({ const user = await prisma.user.update({
where: { where: {

View File

@@ -1,7 +1,7 @@
'use server'; "use server";
import { prisma, Prisma, PrismaClient } from '@repo/db'; import { prisma, Prisma, PrismaClient } from "@repo/db";
import { getServerSession } from '../../api/auth/[...nextauth]/auth'; import { getServerSession } from "../../api/auth/[...nextauth]/auth";
import bcrypt from 'bcryptjs'; import bcrypt from "bcryptjs";
export const unlinkDiscord = async (userId: string) => { export const unlinkDiscord = async (userId: string) => {
const client = new PrismaClient(); const client = new PrismaClient();
@@ -28,20 +28,20 @@ export const updateUser = async (changes: Prisma.UserUpdateInput) => {
export const changePassword = async ( export const changePassword = async (
oldPassword: string, oldPassword: string,
newPassword: string newPassword: string,
) => { ) => {
const session = await getServerSession(); const session = await getServerSession();
if (!session) if (!session)
return { return {
error: 'User not found', error: "User not found",
}; };
if (!(await bcrypt.compare(oldPassword, session.user.password))) if (!(await bcrypt.compare(oldPassword, session.user.password)))
return { return {
error: 'Old password is incorrect', error: "Old password is incorrect",
}; };
const hashedPassword = await bcrypt.hash(newPassword, 15); const hashedPassword = await bcrypt.hash(newPassword, 12);
await prisma.user.update({ await prisma.user.update({
data: { data: {
password: hashedPassword, password: hashedPassword,

View File

@@ -17,7 +17,7 @@ export const resetPassword = async (email: string) => {
} }
const password = Math.random().toString(36).slice(-8); const password = Math.random().toString(36).slice(-8);
const hashedPassword = await bcrypt.hash(password, 15); const hashedPassword = await bcrypt.hash(password, 12);
await prisma.user.update({ await prisma.user.update({
where: { where: {
email, email,

View File

@@ -1,24 +1,24 @@
'use server'; "use server";
import { prisma, Prisma } from '@repo/db'; import { prisma, Prisma } from "@repo/db";
import bcrypt from 'bcryptjs'; import bcrypt from "bcryptjs";
export const register = async ({ export const register = async ({
password, password,
...user ...user
}: Omit<Prisma.UserCreateInput, 'publicId'>) => { }: Omit<Prisma.UserCreateInput, "publicId">) => {
const hashedPassword = await bcrypt.hash(password, 15); const hashedPassword = await bcrypt.hash(password, 12);
const lastUserPublicId = await prisma.user.findFirst({ const lastUserPublicId = await prisma.user.findFirst({
select: { select: {
publicId: true, publicId: true,
}, },
orderBy: { orderBy: {
publicId: 'desc', publicId: "desc",
}, },
}); });
let varPublicId = 'VAR0000'; let varPublicId = "VAR0000";
if (lastUserPublicId) { if (lastUserPublicId) {
const lastUserInt = parseInt(lastUserPublicId.publicId.replace('VAR', '')); const lastUserInt = parseInt(lastUserPublicId.publicId.replace("VAR", ""));
varPublicId = `VAR${(lastUserInt + 1).toString().padStart(4, '0')}`; varPublicId = `VAR${(lastUserInt + 1).toString().padStart(4, "0")}`;
} }
const newUser = prisma.user.create({ const newUser = prisma.user.create({