Bảo mật 22/09/2026 5 phút

Vì sao KHÔNG lưu mật khẩu bằng SHA trần: salt, hàm cố ý chậm — đo thật

SHA-256 rất tốt để kiểm toàn vẹn, nhưng dùng nó lưu mật khẩu là sai lầm nguy hiểm — vì nó quá nhanh. Bài này đo thật: SHA-256 chạy 2,3 triệu hash/giây (kẻ bẻ khóa mơ ước), còn PBKDF2 cố ý chậm chỉ 10/giây — chậm hơn 231.000 lần mà người đăng nhập không hề thấy. Cùng salt để rainbow table vô dụng.

Bảo mật 22/09/2026 7 phút

Argon2: vì sao băm mật khẩu phải CHẬM và tốn bộ nhớ có chủ đích

Dùng SHA-256 để băm mật khẩu là một sai lầm bảo mật kinh điển — vì nó quá nhanh. Bài này đo THẬT bằng Go: SHA-256 chạy 31 triệu lần/giây mỗi lõi, trong khi Argon2id chậm hơn ~559.000 lần có chủ đích. Đo cách tăng bộ nhớ (8→128 MiB) kéo thời gian băm từ 3,7 ms lên 324 ms, và vì sao tính bộ-nhớ-cứng của Argon2 vô hiệu hoá GPU dò mật khẩu.

Spring 23/07/2026 8 phút

BCrypt chậm 52ms là TÍNH NĂNG, và nó lặng lẽ bỏ qua mọi ký tự sau byte thứ 72

Băm mật khẩu như một ổ khoá một chiều nặng và quay chậm có chủ đích: kiểm được chìa nhưng không đọc ngược ra chìa. Đo BCrypt theo từng mức cost, giới hạn 72 byte, DelegatingPasswordEncoder, và cách đổi thuật toán mà không bắt ai đặt lại mật khẩu.