Băm vs Mã hóa
Quá trình chuyển đổi một chuỗi ký tự thành một giá trị độ dài cố định ngắn hơn (được gọi là giá trị băm, mã băm, tổng băm hoặc tổng kiểm) đại diện cho chuỗi gốc được gọi là băm. Thông thường, một hàm được sử dụng để thực hiện phép chuyển đổi này và nó được gọi là hàm băm. Băm sẽ làm cho việc lập chỉ mục và truy xuất dữ liệu trong cơ sở dữ liệu nhanh hơn, vì việc tìm kiếm giá trị băm ngắn hơn, có độ dài cố định sẽ nhanh hơn tìm kiếm giá trị ban đầu. Mã hóa là quá trình chuyển đổi dữ liệu sang định dạng mà các bên không được phép xem dữ liệu không thể hiểu được. Định dạng mới này được gọi là văn bản mã hóa. Chuyển đổi văn bản mã hóa trở lại định dạng ban đầu được gọi là giải mã.
Băm là gì?
Chuyển đổi một chuỗi ký tự thành giá trị độ dài cố định ngắn hơn đại diện cho chuỗi gốc được gọi là băm. Chuyển đổi này được thực hiện bởi một hàm băm. Băm cho phép lập chỉ mục và truy xuất dữ liệu từ cơ sở dữ liệu nhanh hơn do sử dụng giá trị băm ngắn hơn giá trị ban đầu. Băm cũng được sử dụng trong các thuật toán mã hóa để mã hóa và giải mã chữ ký số. Băm là một hoạt động một chiều và giá trị ban đầu không thể được lấy bằng giá trị băm. Hơn nữa, băm không được tạo ra cùng một giá trị băm cho hai giá trị gốc khác nhau. Một số phương pháp băm đơn giản và thường được sử dụng là phương pháp chia phần, phương pháp gấp và phương pháp biến đổi Radix.
Mã hóa là gì?
Chuyển đổi dữ liệu sang định dạng (được gọi là văn bản mã hóa) mà các bên không được phép không thể hiểu được dữ liệu được gọi là mã hóa. Mã hóa đã được sử dụng trong một thời gian dài. Các phương thức mã hóa bao gồm từ các phương thức đơn giản như thay thế các chữ cái cho các số thành các phương thức phức tạp hơn như sắp xếp lại các bit trong tín hiệu số bằng thuật toán máy tính. Lấy dữ liệu gốc từ văn bản mã hóa được gọi là giải mã và nó yêu cầu khóa giải mã chính xác. Khóa này chỉ có sẵn cho các bên được ủy quyền để xem dữ liệu. Một phương thức mã hóa được gọi là mã hóa mạnh nếu nó không thể bị phá vỡ mà không biết khóa giải mã. Mã hóa khóa công khai là một trong những phương thức mã hóa trong đó dữ liệu được mã hóa bằng khóa chung của người nhận và nó không thể được giải mã mà không sử dụng khóa riêng phù hợp.
Sự khác biệt giữa băm và mã hóa là gì?
Chuyển đổi chuỗi ký tự thành giá trị độ dài cố định ngắn hơn đại diện cho chuỗi gốc được gọi là băm, trong khi chuyển đổi dữ liệu sang định dạng (được gọi là văn bản mã hóa) mà các bên không được phép xem dữ liệu không thể hiểu được mã hóa. Vì băm là một cách hoạt động trong đó giá trị ban đầu không thể được lấy bằng giá trị băm, nên nó cũng được sử dụng để mã hóa. Các hàm băm tiêu hóa thư (MD2, MD4 và MD5) được sử dụng để mã hóa chữ ký số. Nhưng việc sử dụng băm không giới hạn trong việc mã hóa. Băm cũng được sử dụng để lấy dữ liệu nhanh hơn từ cơ sở dữ liệu. Nhưng các hàm băm được sử dụng cho các tác vụ này khác nhau và có thể không hoạt động tốt nếu được hoán đổi giữa hai tác vụ.