SHA-1 (Thuật toán băm an toàn 1) là hàm băm mật mã lấy dữ liệu đầu vào (như tệp, mật khẩu hoặc tin nhắn) và tạo ra giá trị băm 160 bit (20 byte), thường được hiển thị dưới dạng chuỗi thập lục phân 40 ký tự.
Quan trọng: Giống như MD5, SHA-1 không phải là mã hóa thực sự — đó là hàm băm một chiều, nghĩa là bạn không thể dễ dàng đảo ngược giá trị băm trở lại đầu vào ban đầu.
Tính toàn vẹn dữ liệu: Xác minh rằng các tệp hoặc tin nhắn chưa bị thay đổi bằng cách so sánh các giá trị băm SHA-1 trước đó và sau khi truyền.
Chữ ký số: Hỗ trợ các hệ thống chữ ký số và chứng chỉ cũ hơn sử dụng SHA-1.
Dấu vân tay: Tạo dấu vân tay duy nhất cho dữ liệu, đảm bảo so sánh nhanh mà không cần toàn bộ tập dữ liệu.
Tốc độ: Băm lượng lớn dữ liệu tương đối nhanh (mặc dù hiện nay được coi là không an toàn khi sử dụng mật mã).
Sử dụng các thư viện mật mã tích hợp trong hầu hết các ngôn ngữ lập trình (ví dụ: hashlib.sha1() trong Python, MessageDigest với SHA-1 trong Java hoặc System.Security.Cryptography.SHA1 trong C#).
Nhập dữ liệu (văn bản, nội dung tệp) vào hàm SHA-1.
Lấy giá trị băm kết quả và sử dụng để so sánh, kiểm tra tổng hoặc lập chỉ mục.
Khi làm việc với hệ thống cũ hoặc API cũ hơn vẫn yêu cầu SHA-1.
Khi tạo kiểm tra tổng cho dữ liệu không quan trọng đối với bảo mật trong đó các va chạm nhỏ có thể chấp nhận được.
Khi xác minh chữ ký số cũ ban đầu được tạo bằng SHA-1.
Khi Khả năng tương thích quan trọng hơn bảo mật nghiêm ngặt (nhưng chỉ khi thực sự cần thiết).