abouttreesummaryrefslogcommitdiff
diff options
context:
space:
mode:
authorpatrick-scho2025-04-13 21:57:53 +0200
committerpatrick-scho2025-04-13 21:57:53 +0200
commitd20342bd4fd63a9d098678c4a954c40fe48b7af7 (patch)
treeaed2ce37be9136c91bd6cc59d2dd6e19029d0afa
parent39cb6149b2b7d8182dea622022e916824f1fc031 (diff)
downloadchirp-d20342bd4fd63a9d098678c4a954c40fe48b7af7.tar.gz
chirp-d20342bd4fd63a9d098678c4a954c40fe48b7af7.zip
update hash buffer
-rw-r--r--src/main.zig10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/main.zig b/src/main.zig
index 29bedcf..d35221e 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -163,19 +163,18 @@ fn decode(text: []const u8) !std.BoundedArray(u8, 1024) {
const Chirp = struct {
const PostsPerPage = 10;
const UsersPerPage = 10;
+ var HashBuffer = std.mem.zeroes([1024 * 1024 * 50]u8);
pub fn hash_password(password: []const u8) !PasswordHash {
var hash_buffer = try PasswordHash.init(128);
// TODO: choose buffer size
- // TODO: dont allocate on stack, maybe zero memory?
- var buffer: [1024 * 10]u8 = undefined;
- var alloc = std.heap.FixedBufferAllocator.init(&buffer);
+ var alloc = std.heap.FixedBufferAllocator.init(&HashBuffer);
// TODO: choose limits
const result = try std.crypto.pwhash.argon2.strHash(password, .{
.allocator = alloc.allocator(),
- .params = std.crypto.pwhash.argon2.Params.fromLimits(1000, 1024),
+ .params = std.crypto.pwhash.argon2.Params.owasp_2id,
}, hash_buffer.slice());
try hash_buffer.resize(result.len);
@@ -184,8 +183,7 @@ const Chirp = struct {
}
pub fn verify_password(password: []const u8, hash: PasswordHash) bool {
- var buffer: [1024 * 10]u8 = undefined;
- var alloc = std.heap.FixedBufferAllocator.init(&buffer);
+ var alloc = std.heap.FixedBufferAllocator.init(&HashBuffer);
if (std.crypto.pwhash.argon2.strVerify(hash.constSlice(), password, .{
.allocator = alloc.allocator(),