STDIO
Tìm kiếm gần đây

    Nội dung

    SHA-1 - Secure Hash Algorithm 1

    Võ Lê Huy

    04/05/2019
    28/06/2020
    SHA-1 - Secure Hash Algorithm 1
    SHA-1 là một trong những thuật toán băm mã hóa, được dùng trong việc kiểm tra tính toàn vẹn của dữ liệu ở phía người nhận. SHA-1 checksum được so sánh giữa người cung cấp và người nhận, dữ liệu được cho là toàn vẹn nếu hai chuỗi checksum là giống nhau.

    Giới thiệu

    SHA-1 là một trong những thuật toán băm mã hóa, được dùng trong việc kiểm tra tính toàn vẹn của dữ liệu ở phía người nhận. SHA-1 checksum được so sánh giữa người cung cấp và người nhận, dữ liệu được cho là toàn vẹn nếu hai chuỗi checksum là giống nhau.

    Các trường hợp sử dụng SHA-1

    • PGP/Digital Signature. Ví dụ trường hợp Kerberos là một giao thức xác thực có cung cấp API cho các nhà phát triển có giấy phép của MIT, vì chứa tính chất quan trọng này nên trang chủ khuyên nhà phát triển chứng thực tệp tin trước khi tải về bằng chứ ký PGP với tệp tin được nén hoặc Digital Signature với tệp tin thực thi *.exe và *.msi
    • Digital Certificate signatures. Ví dụ trong trường hợp bạn chạy một driver cho máy thì driver đó phải được chứng thực.

    SHA-1 và MD5

    SHA-1 cũng giống như MD5, nhạy cảm ở đầu vào, bất kỳ sự thay đổi bit nào cũng dẫn đến kết quá khác hoàn toàn. SHA-1 vượt trội hơn trong vấn đề bảo mật nhưng cũng vì thế cần có thời gian nhiều hơn để xử lý.

    Lịch sử và lỗ hổng của hàm băm SHA

    SHA-1 là một phiên bản trong tổng bốn phiên bản của thuật toán băm Secure Hash Algorithm (SHA). Hầu hết được phát triển bởi Cục An Ninh Quốc Gia (NSA) và được Viện Tiêu Chuẩn Và Kỹ Thuật Quốc Gia (NIST) công bố.

    SHA-0 có kích 160 bit và là phiên bản đầu tiên của thuật toán này. Giá trị băm SHA-0 dài 40 ký tự hexa tương ứng với 20 byte. Nó được xuất bản lần đầu tiên với tên SHA vào năm 1993 nhưng không được sử dụng trong nhiều ứng dụng vì nó nhanh chóng được thay thế bằng SHA-1 vào năm 1995 do lỗi bảo mật.

    SHA-1 là lần lặp thứ hai của hàm băm mật mã này. SHA-1 cũng có chiều dài 160 bit và tìm cách tăng cường bảo mật bằng cách khắc phục điểm yếu được tìm thấy của tiền phiên bản SHA-0. Tuy nhiên, vào năm 2005, nó cũng bị phát hiện là không an toàn.

    SHA-1 được áp dụng như thế nào?

    SHA-1 dược sử dụng trong kiểm tra tính toàn vẹn dữ liệu giống như MD5.

    Hãy sang ví dụ này, tưởng tượng bạn đang đăng nhập vào một trang web. Mỗi lần bạn yêu cầu đăng nhập, bạn bắt buộc phải nhập tên người dùng và mật khẩu của mình.

    Nếu trang web sử dụng hàm băm mật mã SHA-1, điều đó có nghĩa là mật khẩu của bạn không lưu ở dạng gốc hay còn gọi là bản rõ mà nó được chuyển thành chuỗi checksum. Checksum đó được so sánh với checksum mà bạn đã đăng ký trước đó trên trang web. Nếu hai trận đấu, bạn được cấp quyền truy cập; nếu họ không, bạn nói mật khẩu không chính xác.

    Ví dụ 1 số giá trị băm do SHA-1 tạo ra

    Các giá trị đầu ra của SHA-1 được tạo ra bởi công cụ SHA-1 hash online.

    ĐẦU VÀO ĐẦU RA
    123456 7c4a8d09ca3762af61e59520943dc26494f8941b
    abcdef 1f8ac10f23c5b5bc1167bda84b833e5c057a77d2
    stdio.vn 14eb84fbb2e88e2878878efdd13c39b4acdafe86
    bugs.vn 02177ecba00cd7a4c068e77e451b28492b094f52

    Đọc thêm MD5 Message-Digest Algorithm.

    Bugs

    Chuyện của những nhà phát triển.

    Thảo luận

    In order to comment you must be a STDIO Insider. Please sign up or log in to continue.

    Đăng nhập

    Bài viết liên quan

    SHA-256 và SHA-512

    SHA-256 và SHA-512

    SHA-256 là một trong những hàm băm kế tiếp cho SHA-1 và là một trong những hàm băm mạnh nhất hiện có. SHA-256 không phức tạp hơn nhiều so với mã SHA-1 và chưa bị xâm phạm ...

    BugsỨng dụng

    14/10/2019

    MD5

    MD5

    MD5 (MD5 Message-Digest Algorithm) là một thuật toán tóm tắt thông điệp, là một hàm băm mã hóa được dùng để chứng thực sự toàn vẹn của nội dung. Nội dung sau khi băm qua ...

    BugsỨng dụng

    13/08/2018

    So Sánh Nội Dung 2 Tập Tin Sử Dụng Thư Viện Của Microsoft Visual Studio - C#

    So Sánh Nội Dung 2 Tập Tin Sử Dụng Thư Viện Của Microsoft Visual Studio - C#

    Cách so sánh dữ liệu giữa 2 hay nhiều tập tin, hạn chế và thế mạnh của các phương thức hỗ trợ so sánh trong C#.

    Nguyễn Ngọc Tân

    05/11/2017

    Thao Tác Trên Mảng 1 Chiều

    Thao Tác Trên Mảng 1 Chiều

    Sau khi khai báo int a[5]; ta có thể truy xuất đến các phần tử của a qua các chỉ số như a[0], a[1], a[2]... Tuy nhiên, không giống như khi khai báo, các chỉ số ở đây ...

    Phi Phạm

    26/04/2015

    Bí Mật Của SEO - Phần 1

    Bí Mật Của SEO - Phần 1

    Giới thiệu tổng quan và chi tiết về SEO, giúp cho người mới bắt đầu có được nền tảng và người có kinh nghiệm hoàn thiện tham khảo khi cần.

    STDIO SolutionsSEO

    11/07/2020

    ioFlashStorage - Lưu Trữ Dữ Liệu Tại 1 Lần Yêu Cầu Trang

    ioFlashStorage - Lưu Trữ Dữ Liệu Tại 1 Lần Yêu Cầu Trang

    Lưu trữ các trạng thái của web tại trình duyệt với ioFlashStorage (JavaScript), rất hữu ích cho việc lưu trạng thái tại 1 lần nạp trang.

    JavaScriptJavaScript Nâng Cao

    03/08/2014

    Một Số Hàm Hữu Ích Trong Thư Viện Algorithm C++ (STL)

    Một Số Hàm Hữu Ích Trong Thư Viện Algorithm C++ (STL)

    Việc vận dụng những thư viện hỗ trợ trong C++ rất quan trọng. Đặc biệt là sử dụng thư viện algorithm để hỗ trợ giải quyết những vấn đề một cách nhanh chóng thay vì phải ...

    Phạm Tấn Phong

    02/03/2016

    Hiện Thực Game Zero Với Unity - Phần 1 - Nhận Sự Kiện Button

    Hiện Thực Game Zero Với Unity - Phần 1 - Nhận Sự Kiện Button

    Tôi tiếp tục chuỗi bài viết giúp bạn đọc xây dựng một game đơn giản thực tế: Hướng Dẫn Hiện Thực Game Zero Với Unity. Qua chuỗi bài viết, hi vọng bạn đọc sẽ dễ dàng hơn ...

    Rye Nguyen

    09/08/2015

    Học SEO Trong 1 Ngày - Phần 1

    Học SEO Trong 1 Ngày - Phần 1

    Hiểu biết về cách hoạt động của Google, keyword và các công cụ hỗ trợ phân tích keyword, các khái niệm về keyword trong SEO.

    STDIO SolutionsSEO

    11/07/2020

    Lưu Trữ Thông Tin Game Với PlayerPrefs

    Lưu Trữ Thông Tin Game Với PlayerPrefs

    Lưu điểm số, thông tin hay trạng thái game là điều quan trọng và là nhu cầu chung trong bất kì game nào. Đối với Unity, công việc này đã được hỗ trợ bằng lớp PlayerPrefs. ...

    Phạm Ngọc Phước

    12/03/2016

    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020