tài liệu Xuân nói rằng nhớ tôi được thực hiện bằng cách lưu trữ thông tin sau trong cookie -Xuân quản lý xác thực lỗ hổng bảo mật
base64 (username + ":" + expirationTime + ":" + md5Hex (username + ":" + expirationTime + ":" mật khẩu + ":" + phím))
tôi có nhầm lẫn sau -
Tại sao sử dụng một n băm không an toàn như MD5 để tiêu hóa thông tin thay vì sử dụng SHA-1 hoặc SHA-2. Liệu hiệu suất đạt được từ đây có đáng kể đối với một mẩu thông tin nhỏ như vậy không?
Tại sao truyền thông tin này qua mạng? Tại sao không duy trì một bản đồ về số ngẫu nhiên an toàn mã hóa và thông tin này trên máy chủ, chỉ trả lại khóa bản đồ dưới dạng cookie. AFAIK đây là cách tiếp cận được sử dụng bởi API Servlet và được coi là an toàn hơn.
Ghi đè makeTokenSignature() trông giống như một cách tốt để đi, vì tôi không nghĩ rằng SHA-2 có thể bị hỏng. Tôi tự hỏi trong trường hợp nào người ta sẽ cần phải sử dụng một cách tiếp cận mã thông báo liên tục ở tất cả. –
Bởi vì phương pháp tiếp cận bền bỉ thì an toàn hơn nhiều. Không cung cấp thông tin về mật khẩu luôn tốt hơn sau đó gửi mật khẩu được mã hóa. - Nhưng cuộc thảo luận này có khuynh hướng lý thuyết. - Dù sao tôi thích phương pháp tiếp cận mã thông báo liên tục, vì điều này cho phép các tính năng bổ sung như xóa mã thông báo như vậy. – Ralph
Cách tiếp cận mã thông báo liên tục chắc chắn tốt hơn nhưng tôi không chắc chắn những gì không an toàn khi sử dụng MD5 trong trường hợp này, nơi mà về cơ bản nó được sử dụng làm chữ ký. Bạn sẽ cần truy cập vào cả mật khẩu băm và khóa sinh sản mã băm MD5. – sourcedelica