Monir fixes

This commit is contained in:
2025-06-22 16:04:17 +03:00
parent 3310df5df4
commit 94d377c0c2
5 changed files with 21 additions and 29 deletions

View File

@@ -15,7 +15,7 @@ module Players
raise ArgumentError, "Password must be at least 8 characters and of valid format." unless
pass.match?(/\A[a-zA-Z0-9_.!?@#$%^&*()+=-]+\z/) && pass.length >= 8
digest = XXhash.xxh32(pass, 1234)
digest = XXhash.xxh32(pass, ENV_HASH["SALT"])
code = CODE_ENV == :prod ? Array.new(24) { ALPHANUM.sample }.join : "!"
DB[
@@ -50,7 +50,7 @@ module Players
end
def self.pass_reset(new_pass, code)
digest = XXhash.xxh32(new_pass, 1234)
digest = XXhash.xxh32(new_pass, ENV_HASH["SALT"])
DB["update Players set digest = ?, new_pass_code = ? where new_pass_code = ?", digest, "", code].update != 0
end
@@ -63,7 +63,7 @@ module Players
end
def self.authorized?(username, pass)
digest = XXhash.xxh32(pass, 1234)
digest = XXhash.xxh32(pass, ENV_HASH["SALT"])
player = self[username]
player && player[:digest].to_i == digest.to_i ? player : false
end