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

    Nội dung

    SHA-256 và SHA-512

    Võ Lê Huy

    14/10/2019
    29/06/2020
    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 theo bất kỳ cách nào. Khóa 256 bit làm cho nó trở thành đôi bạn tốt với AES.

    SHA-256 và SHA-512 là bài viết nối tiếp bài viết SHA-1 - Secure Hash Algorithm 1. Cũng như SHA-1 nhằm để mã hóa dữ liệu, SHA-256 và SHA-512 tăng cường hơn khả năng bảo mật.

    SHA-256

    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 theo bất kỳ cách nào. Khóa 256 bit làm cho nó trở thành đôi bạn tốt với AES.

    SHA-256 là một thuật toán được mô tả cụ thể của thuật toán SHA -2 như 512 và gần đây là các phiên bản 224 bit, ngoài ra nó còn là sự phát triển thành công từ người tiền nhiệm SHA -1, bản thân SHA -256 là một sự cải tiến của SHA-0. Thuật toán SHA -2 được NSA phát triển để trả lời vấn đề bảo mật của SHA -1. Thuật toán này nhận đầu vào là một thông điệp có độ dài bit tối đa là hai lũy thừa sáu mươi tư và cho ra kết quả checksum có độ dài 256 bit. Có vẻ như SHA -256 đang ngày càng được sử dụng nhiều hơn để thay thế hàm băm MD5 cũ, thậm chí ngay cả SHA-1 cũng có mức độ bảo mật tốt hơn MD5. SHA-256 thực sự là sự thay thế tốt nhất vì sự cân bằng giữa kích thước dữ liệu và mức độ an toàn. Như những chức năng mã hóa khác của họ hàng nhà SHA.

    SHA-256 là một phương pháp áp dụng tốt để lưu trữ mật khẩu người dùng, vì nó an toàn hơn MD5 hoặc SHA-1. Ngay cả khi nó an toàn hơn, nó vẫn được cân nhắc sử dụng thêm tùy chọn là Salt để cải thiện an ninh. Salt là một gia vị, một chuỗi mà bạn thêm vào mật khẩu của người dùng để làm cho nó để thêm độ dài dữ liệu và thêm các ký tự đặc biệt để tăng sự phức tạp khi muốn truy ngược nguồn gốc. Điều này sẽ khiến việc phương pháp Bruteforce – vét cạn trở nên khó khăn hơn và rất có thể không tìm ra được thông điệp gốc.

    Ví dụ

    DỮ LIỆU CHUỖI MÃ HÓA
    123456 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
    stdio.vn 70c1f8f724f2969f8986c14c0c9a9bfbec6f2eba94dea5638c717c379924b328
    Mã hóa SHA-256 cfedbd263269913dbab9cdb797855918bff1678ed3fb38dcd346df076ab0f61d

    Dữ liệu trên được tạo từ công cụ mã hóa online SHA-256.

    SHA-512

    SHA-512 cũng là nằm trong SHA-2, nó có khả năng nhận đầu với với số lương hai lũy thừa một trăm hai mươi tám bit, SHA-512 trải qua nhiều hơn 25% vòng lặp so với SHA-256 vì vậy nó có độ trễ so với SHA-256. Trên bộ xử lý 64 bit, mỗi vòng có cùng số lượng thao tác, nhưng có thể xử lý gấp đôi dữ liệu mỗi vòng, vì các hướng dẫn xử lý các từ 64 bit thay vì các từ 32 bit. SHA-512 có thể nhanh hơn bao nhiêu trong điều kiện tối ưu. Tất nhiên là có phí bộ nhớ, độ trễ chỉ dẫn và các yếu tố khác liên quan; trên bộ xử lý Intel Ivy Bridge, thông báo SHA-512 nhanh hơn 1,54 lần và trên AMD Piledriver nó nhanh hơn 1,48 lần. Đối với các tin dữ liệu cần băm có độ dài nhỏ ít hơn 448 bit SHA-512 sẽ chậm hơn khoảng 1,25 lần.

    SHA-512 có tốc độ chỉ bằng 60% SHA-256 nhưng có một lợi thế đó là đôi khi chúng ta muốn một quá trình sinh khóa chậm để kéo dài khóa, điều này thường được sử dụng để giảm thiểu các cuộc tấn công BruceForce và các cuộc tấn công có thể dự đoán trước các khóa yếu như mật khẩu.

    Ví dụ

    DỮ LIỆU CHUỖI MÃ HÓA
    STDIO 75266828354bdf6e828f363c32b7ef003af56c9cf54da625762ca457adfe0159d9045c83aa71792e1cfec00029d41ae27f80e5b3137d9ed47551b6ff9fbb35e8
    Password123 804f50ddbaab7f28c933a95c162d019acbf96afde56dba10e4c7dfcfe453dec4bacf5e78b1ddbdc1695a793bcb5d7d409425db4cc3370e71c4965e4ef992e8c4
    02031287 0b0b9f4614d151278cf6b3173ca8cd74cd2e5e3eb6c2f34e4bde990a41226a695247e7729ed41ed08c5b6e474f3da817ec7701ad6544486d5c7b43712259f571

    Dữ liệu trên được tạo từ công cụ mã hóa online SHA-512.

    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-1 - Secure Hash Algorithm 1

    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 ...

    BugsỨng dụng

    04/05/2019

    Thẻ Từ và Các Loại Thẻ Từ

    Thẻ Từ và Các Loại Thẻ Từ

    Các loại thẻ từ dùng làm thẻ thang máy, thẻ gửi xe, thẻ nhân viên, thẻ ngân hàng và các loại thẻ từ đọc, ghi.

    Điện Tử Ứng DụngChia sẻ

    04/03/2016

    Giới Thiệu Intel Galileo

    Giới Thiệu Intel Galileo

    Giới thiệu về Intel Galileo và cái nhìn chi tiết hơn về ngoại hình, thông số kĩ thuật của Intel Galileo.

    Điện Tử Ứng DụngChia sẻ & Góc nhìn

    26/07/2015

    Xử Lý Với File PLIST Trong Cocos2d-x 3.x.x

    Xử Lý Với File PLIST Trong Cocos2d-x 3.x.x

    Trong việc xây dựng, thiết kế project games của bạn, có nhiều tính toán, kỹ thuật, tính năng bạn phải sử dụng file để thao tác nhằm tăng hiệu suất của chương trình, giúp ...

    Lê Viết Duy

    14/06/2017

    Làm Quen Với Thư Viện Imaging (PIL) -  Phần 1: Cơ bản

    Làm Quen Với Thư Viện Imaging (PIL) - Phần 1: Cơ bản

    Đôi lúc bạn sẽ gặp phải các vấn đề về xử lý hình ảnh trong công việc của mình. Python cho phép bạn thực hiện điều đó dễ dàng thông qua thư viện Imaging (PIL). Thư viện ...

    Ryan Lê

    18/03/2015

    Loop - For Và Foreach - While Và Do-While

    Loop - For Và Foreach - While Và Do-While

    Trong bài viết này tôi muốn giới thiệu đến các bạn cách tạo vòng lặp và các cách sử dụng vòng lặp khác nhau được hỗ trợ trong ngôn ngữ PHP. Bài viết các bạn lập trình ...

    Bùi Nguyễn Minh Hoàng

    28/08/2015

    union Trong C/C++ Và Chia Sẻ Vùng Nhớ

    union Trong C/C++ Và Chia Sẻ Vùng Nhớ

    Giới thiệu union và các trường hợp sử dụng union mang lại hiệu năng tốt và hiệu quả trong tổ chức chương trình.

    La Kiến Vinh

    29/07/2014

    Biến Và Kiểu Dữ Liệu Trong PHP

    Biến Và Kiểu Dữ Liệu Trong PHP

    Biến là một khái niệm quen thuộc trong bất kì ngôn ngữ lập trình nào. Tuy nhiên ở mỗi ngppn ngữ, cách khai báo biến và kiễu dữ liệu ngôn ngữ hỗ ...

    Nguyễn Thị Trúc Linh

    20/02/2017

    Bitmap - Khái Niệm Và Các Xử Lý Cơ Bản

    Bitmap - Khái Niệm Và Các Xử Lý Cơ Bản

    Kiến trúc file bmp và đọc ghi file bmp bằng C/C++.

    Tran Khanh Nguyen

    13/05/2017

    Kỹ Thuật Grayscale Và Nhị Phân Hoá Ảnh (Adaptive Threshold)

    Kỹ Thuật Grayscale Và Nhị Phân Hoá Ảnh (Adaptive Threshold)

    Nẳm trong loạt bài viết trong chương trình Tự Học OpenCV Qua Các Ví Dụ Thực Tế. Bài viết sẽ giới thiệu và chi tiết các thuật toán Grayscale, ảnh nhị phân và một số thuật ...

    Trương Xuân Đạt

    23/01/2015

    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