Tan Phat Media

Hash Calculator - Tính Hash Online

Tính MD5, SHA-1, SHA-256, SHA-512 online

Input Text

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Tính hash của chuỗi văn bản: MD5, SHA-1, SHA-256, SHA-384 và SHA-512 cùng lúc

Công cụ tính năm giá trị băm cho cùng một đoạn văn bản bạn nhập vào, gồm MD5, SHA-1, SHA-256, SHA-384 và SHA-512. Chuỗi được mã hóa theo UTF-8 trước khi băm và kết quả hiển thị dạng thập lục phân chữ thường, mỗi dòng có nút sao chép riêng để đối chiếu với giá trị bạn đang có.

Tính năng nổi bật

  • Tính năm thuật toán trong một lần bấm, không phải mở năm công cụ khác nhau
  • Bốn thuật toán họ SHA dùng thư viện mã hóa sẵn có của trình duyệt nên kết quả chuẩn
  • MD5 được tính bằng đoạn mã riêng vì trình duyệt không còn hỗ trợ thuật toán này
  • Chuỗi nhập vào được mã hóa UTF-8 nên tiếng Việt có dấu cho ra kết quả đúng chuẩn
  • Kết quả dạng thập lục phân chữ thường, đúng định dạng phổ biến khi đối chiếu
  • Mỗi giá trị băm có nút sao chép riêng kèm dấu báo đã sao chép thành công
  • Ô nhập nhiều dòng, dán được cả đoạn văn bản dài hoặc chuỗi JSON
  • Tính ngay trong trình duyệt, nội dung bạn nhập không được gửi lên máy chủ

Hàm băm dùng để làm gì trong công việc thật

Hàm băm biến một chuỗi bất kỳ thành một chuỗi có độ dài cố định, và cùng một đầu vào luôn cho cùng một kết quả. Tính chất đó khiến nó xuất hiện ở rất nhiều chỗ: kiểm tra một tệp tải về có nguyên vẹn không, so hai bản ghi có giống nhau không mà không cần so từng ký tự, tạo khóa cho bộ nhớ đệm, và quan trọng nhất là ký chữ ký số cho các yêu cầu gọi API. Cổng thanh toán ở Việt Nam là ví dụ rõ nhất: hầu hết đều yêu cầu bạn nối các tham số theo một thứ tự quy định rồi băm bằng SHA-256 hoặc mã xác thực dựa trên băm, và chỉ cần sai một dấu cách hay sai thứ tự là chữ ký không khớp. Lúc đó việc bạn cần là tính thử giá trị băm của đúng chuỗi mình đang ghép để so với chuỗi mà tài liệu đưa làm ví dụ, và công cụ này làm đúng việc đó.

Lợi ích khi sử dụng

  • Có ngay năm giá trị để thử khi tài liệu không ghi rõ dùng thuật toán nào
  • Kiểm tra được chuỗi ghép chữ ký của cổng thanh toán mà không phải viết đoạn mã thử
  • Đối chiếu giá trị băm ghi trong tài liệu hoặc trong cơ sở dữ liệu chỉ bằng thao tác dán
  • Xử lý đúng tiếng Việt có dấu, tránh sai lệch do khác cách mã hóa ký tự
  • Nội dung nhạy cảm không rời khỏi máy vì không có bước tải lên

Cách tính hash cho một chuỗi

  1. 1Dán hoặc gõ chuỗi cần băm vào ô nhập, giữ nguyên từng ký tự kể cả dấu cách và ký tự xuống dòng.
  2. 2Bấm nút tính hash, năm giá trị hiện ra cùng lúc theo thứ tự MD5, SHA-1, SHA-256, SHA-384 và SHA-512.
  3. 3Chọn đúng thuật toán mà tài liệu bên kia yêu cầu, đây là chỗ sai nhiều nhất khi đối chiếu chữ ký.
  4. 4Bấm nút sao chép ở dòng tương ứng để lấy giá trị dạng thập lục phân chữ thường.
  5. 5So với giá trị bạn đang có, nếu lệch thì kiểm tra lại chuỗi đầu vào trước khi nghi ngờ thuật toán.

Năm thuật toán khác nhau ở đâu

MD5 cho ra 128 bit, viết thành 32 ký tự thập lục phân. Nó nhanh và vẫn được dùng rộng rãi để kiểm tra tính toàn vẹn của tệp, nhưng đã bị phá về mặt chống va chạm từ lâu, nghĩa là người ta tạo được hai nội dung khác nhau cho cùng một giá trị băm. SHA-1 cho ra 160 bit tức 40 ký tự, cũng đã bị chứng minh có thể tạo va chạm trong thực tế và đang bị loại dần khỏi các hệ thống chứng thư số. SHA-256 cho ra 256 bit tức 64 ký tự, đây là lựa chọn mặc định hiện nay cho gần như mọi việc: chữ ký API, chứng thư số, kiểm tra tệp phát hành. SHA-384 và SHA-512 cho ra 96 và 128 ký tự, thuộc cùng họ với SHA-256 nhưng làm việc trên khối 64 bit; thú vị là trên máy 64 bit, SHA-512 thường chạy nhanh hơn SHA-256 với dữ liệu lớn. Chọn thuật toán nào phụ thuộc vào bên kia yêu cầu gì, còn nếu bạn được tự quyết thì SHA-256 là mặc định hợp lý, và chỉ chọn SHA-512 khi có yêu cầu cụ thể về độ dài khóa.

Vì sao giá trị băm của tôi không khớp với bên kia

Khi hai bên tính cùng một thuật toán mà ra hai kết quả, nguyên nhân gần như luôn nằm ở chuỗi đầu vào chứ không phải ở thuật toán. Danh sách những chỗ cần kiểm tra theo thứ tự. Thứ nhất là khoảng trắng thừa, nhất là dấu cách hoặc ký tự xuống dòng ở cuối chuỗi khi sao chép từ tài liệu; một ký tự xuống dòng vô hình cũng làm giá trị băm khác hoàn toàn. Thứ hai là cách mã hóa ký tự, chuỗi tiếng Việt băm theo UTF-8 và theo bảng mã cũ cho hai kết quả khác nhau; công cụ này dùng UTF-8, là chuẩn của hầu hết hệ thống hiện nay. Thứ ba là thứ tự các tham số khi ghép chuỗi chữ ký, nhiều cổng yêu cầu sắp theo thứ tự bảng chữ cái của tên tham số. Thứ tư là việc có mã hóa giá trị tham số theo kiểu địa chỉ mạng hay không trước khi ghép. Thứ năm là chữ hoa chữ thường của chính giá trị băm, một số hệ thống chờ chuỗi viết hoa trong khi công cụ này trả về chữ thường, hai chuỗi đó cùng giá trị nhưng so bằng phép so chuỗi thì báo lệch.

Hàm băm không dùng để lưu mật khẩu

Đây là hiểu lầm gây thiệt hại thật và cần nói thẳng. Băm mật khẩu bằng MD5 hay SHA-256 rồi lưu vào cơ sở dữ liệu là cách làm sai, dù nghe có vẻ hợp lý. Lý do là các hàm này được thiết kế để chạy thật nhanh, và tốc độ đó chính là điểm yếu: một máy có card đồ họa phổ thông thử được hàng tỷ giá trị SHA-256 mỗi giây, nên khi cơ sở dữ liệu bị lộ, phần lớn mật khẩu người dùng sẽ bị dò ra trong thời gian ngắn, đặc biệt với những mật khẩu phổ biến vốn đã nằm sẵn trong bảng tra cứu dựng sẵn. Cách đúng là dùng các hàm chuyên cho mật khẩu, được thiết kế để chậm có chủ đích và có tham số điều chỉnh độ nặng, đồng thời tự sinh chuỗi muối riêng cho từng người dùng để hai người trùng mật khẩu vẫn cho hai bản ghi khác nhau. Những hàm thuộc nhóm này là bcrypt, scrypt và Argon2, trong đó Argon2 là lựa chọn được khuyến nghị cho hệ thống mới. Công cụ trên trang này phục vụ việc kiểm tra tính toàn vẹn và đối chiếu chữ ký, không phải để dựng cơ chế lưu mật khẩu.

Ký chữ ký cho yêu cầu gọi API

Trong tích hợp thanh toán và các API có yêu cầu xác thực, quy trình thường gặp gồm bốn bước. Bước một, thu thập các tham số sẽ gửi đi, bỏ ra tham số chứa chính chữ ký. Bước hai, sắp xếp theo quy tắc mà tài liệu chỉ định, phổ biến nhất là theo thứ tự bảng chữ cái của tên tham số. Bước ba, ghép thành một chuỗi theo đúng mẫu, thường là tên bằng giá trị nối nhau bằng dấu và, đôi khi có thêm khóa bí mật ở đầu hoặc cuối chuỗi. Bước bốn, băm chuỗi đó và gửi kèm kết quả. Điểm cần cẩn thận là phân biệt hai kiểu: băm thuần túy trên chuỗi có chứa khóa bí mật, và mã xác thực dựa trên băm với khóa được đưa vào theo một cấu trúc riêng. Hai kiểu này cho kết quả khác nhau hoàn toàn dù cùng dùng SHA-256, và công cụ này chỉ tính kiểu thứ nhất. Nếu tài liệu của đối tác nhắc tới mã xác thực dựa trên băm thì bạn cần một công cụ hoặc đoạn mã hỗ trợ đúng cơ chế đó, dán chuỗi vào đây sẽ không bao giờ ra đúng.

Giới hạn của công cụ này

Có bốn giới hạn nên biết trước khi dùng. Thứ nhất, công cụ chỉ băm văn bản gõ hoặc dán vào ô nhập, không băm được tệp; muốn kiểm tra giá trị băm của một tệp tải về, bạn cần công cụ nhận tệp vì cách đọc dữ liệu nhị phân khác hẳn cách đọc chuỗi. Thứ hai, nó chỉ tính băm thuần túy chứ không tính mã xác thực dựa trên băm có khóa. Thứ ba, kết quả luôn ở dạng thập lục phân chữ thường, không có tùy chọn xuất dạng Base64 vốn được một số hệ thống dùng, nên bạn phải tự chuyển đổi khi cần. Thứ tư, phần MD5 được viết riêng bằng JavaScript vì thư viện mã hóa của trình duyệt cố tình không hỗ trợ thuật toán này nữa; nó cho kết quả đúng với các chuỗi thông thường nhưng bạn nên đối chiếu lại nếu làm việc với dữ liệu có ký tự đặc biệt hiếm gặp. Đổi lại, việc mọi thứ chạy tại chỗ có nghĩa là chuỗi bạn dán vào, kể cả khóa bí mật trong chuỗi ghép chữ ký, không đi ra khỏi máy bạn.

Câu hỏi thường gặp (FAQ)

Hash và mã hóa khác nhau thế nào?

Mã hóa có chiều ngược lại, ai có khóa đúng sẽ khôi phục được nội dung gốc. Hàm băm là một chiều, không có cách nào lấy lại đầu vào từ giá trị băm. Vì vậy đừng gọi việc băm là mã hóa, và cũng đừng mong tìm được công cụ giải ngược một chuỗi băm về nội dung ban đầu.

Có thể giải ngược chuỗi hash về văn bản gốc không?

Không thể theo cách toán học. Cái mà các trang gọi là giải mã MD5 thực chất là tra bảng dựng sẵn: họ đã băm trước hàng tỷ chuỗi phổ biến và tra ngược trong bảng đó. Cách này chỉ hiệu quả với chuỗi ngắn và thông dụng, chuỗi dài ngẫu nhiên thì không tra ra được.

MD5 còn dùng được không?

Còn dùng được để kiểm tra tệp có bị lỗi trong quá trình tải hay sao chép, vì mục đích đó chỉ cần phát hiện thay đổi ngẫu nhiên. Nhưng không được dùng MD5 ở nơi cần chống giả mạo có chủ ý, vì người ta đã tạo được hai nội dung khác nhau cho cùng một giá trị băm.

SHA-256 và SHA-512 nên chọn cái nào?

SHA-256 là mặc định hợp lý cho hầu hết trường hợp và là thứ các hệ thống đối tác thường yêu cầu. SHA-512 cho chuỗi dài gấp đôi và trên máy 64 bit lại thường chạy nhanh hơn với dữ liệu lớn. Nếu bên kia không chỉ định cụ thể thì cứ dùng SHA-256.

Vì sao chuỗi tiếng Việt có dấu cho kết quả khác nhau ở hai công cụ?

Vì hai bên mã hóa ký tự khác nhau trước khi băm. Công cụ này dùng UTF-8, là chuẩn của hầu hết hệ thống hiện nay. Nếu bên kia dùng bảng mã cũ thì cùng một câu tiếng Việt sẽ cho dãy byte khác và giá trị băm khác hoàn toàn.

Có nên băm mật khẩu bằng SHA-256 rồi lưu vào cơ sở dữ liệu không?

Không. Các hàm này được thiết kế để chạy rất nhanh, nên khi cơ sở dữ liệu bị lộ, mật khẩu sẽ bị dò ra nhanh chóng. Hãy dùng hàm chuyên cho mật khẩu như bcrypt, scrypt hoặc Argon2, chúng chậm có chủ đích và tự sinh chuỗi muối riêng cho từng người dùng.

Chuỗi muối trong băm mật khẩu là gì?

Là một chuỗi ngẫu nhiên được thêm vào mật khẩu trước khi băm, mỗi người dùng một chuỗi khác nhau. Nhờ đó hai người trùng mật khẩu vẫn cho hai bản ghi khác nhau, và bảng tra cứu dựng sẵn trở nên vô dụng. Các hàm chuyên cho mật khẩu tự sinh và tự lưu chuỗi muối này.

Công cụ có tính được mã xác thực dựa trên băm có khóa không?

Không. Công cụ chỉ tính băm thuần túy trên chuỗi bạn nhập. Mã xác thực dựa trên băm đưa khóa vào theo một cấu trúc riêng nên cho kết quả khác hẳn dù cùng dùng SHA-256. Nếu tài liệu của đối tác nhắc tới cơ chế đó, bạn cần công cụ hoặc đoạn mã hỗ trợ đúng chuẩn.

Công cụ có băm được tệp không?

Không, nó chỉ băm văn bản gõ hoặc dán vào ô nhập. Muốn kiểm tra giá trị băm của một tệp tải về, bạn cần công cụ nhận tệp vì việc đọc dữ liệu nhị phân khác hẳn việc đọc chuỗi ký tự, và dán nội dung tệp vào ô văn bản sẽ cho kết quả sai.

Vì sao chữ ký gửi lên cổng thanh toán luôn báo sai?

Thường do chuỗi ghép chưa đúng: thừa khoảng trắng hoặc ký tự xuống dòng ở cuối, sai thứ tự tham số, chưa mã hóa giá trị theo kiểu địa chỉ mạng, hoặc nhầm giữa băm thuần túy và mã xác thực có khóa. Hãy in ra chuỗi ghép trước khi băm và so từng ký tự với ví dụ trong tài liệu.

Kết quả viết hoa hay viết thường có ảnh hưởng không?

Về giá trị thì không, hai dạng biểu diễn cùng một số. Nhưng nếu bên kia so bằng phép so chuỗi nghiêm ngặt thì có. Công cụ trả về chữ thường, nếu hệ thống của bạn chờ chữ hoa thì phải chuyển đổi trước khi so sánh, đây là lỗi rất hay gặp khi tích hợp.

Nội dung tôi nhập vào có được gửi lên máy chủ không?

Không. Bốn thuật toán họ SHA được tính bằng thư viện mã hóa sẵn có của trình duyệt, còn MD5 tính bằng đoạn mã JavaScript trong trang. Không có lời gọi mạng nào, nên bạn dán được cả chuỗi ghép có chứa khóa bí mật mà nội dung vẫn nằm trong máy.

Từ khóa liên quan

  • tính hash online
  • tạo mã md5 online
  • tính sha256 online
  • công cụ hash miễn phí
  • hash calculator tiếng việt
  • md5 sha1 sha256 khác nhau
  • hàm băm là gì
  • hash có giải ngược được không
  • sha512 là gì
  • chữ ký api sha256
  • ký chữ ký cổng thanh toán
  • hmac và hash khác nhau
  • băm mật khẩu bcrypt argon2
  • salt trong băm mật khẩu
  • kiểm tra tính toàn vẹn dữ liệu
  • va chạm md5
  • mã hóa và băm khác nhau
  • hash chuỗi tiếng việt utf-8
  • tính checksum chuỗi
  • công cụ cho lập trình viên online

Công cụ Developer Tools liên quan

.env Generator

Tạo file .env và .env.example cho dự án.

.gitignore Generator

Tạo .gitignore cho Node.js, Python, Java.

API Mock Generator

Tạo mock JSON data cho API testing.

API Response Formatter

Format và phân tích API response.

API Tester

Test REST API: GET, POST, PUT, DELETE.

Postman Alternative - API Testing Tool Online với Collections, Environment & File Upload

Postman Alternative miễn phí - Test APIs với Collections, Multiple Environments, Pre-request Scripts, Collection Runner, File Upload (form-data), Tests/Assertions, Code Generation (cURL, JS, Python, Node.js). Browser-based, không cần cài đặt. Save requests, export/import collections, auto-save history. Hỗ trợ Bearer Token, Basic Auth, API Key. Hoàn hảo cho API development và testing.

Swagger API Tester - Test API với OpenAPI/Swagger Spec & Authentication Online

Swagger API Tester miễn phí - Import OpenAPI/Swagger specification và test API endpoints với đầy đủ authentication (Bearer Token/JWT, Basic Auth, API Key). Hỗ trợ OpenAPI 3.0, Swagger 2.0, auto-parse endpoints, parameters, request body. Giao diện như Swagger UI với color-coded methods, grouped endpoints, real-time testing. Hoàn hảo cho API development, testing, debugging secured APIs.

Base Converter

Chuyển đổi Binary, Hex, Base32.

Base64 Encoder

Mã hóa/giải mã Base64.

Binary Converter

Chuyển đổi Decimal, Binary, Hex.

Box Shadow Generator

Tạo CSS box-shadow trực quan.

Chmod Calculator

Tính quyền file Linux.

Dịch vụ của Tấn Phát Digital

Đang xây sản phẩm và cần thêm người làm phần nặng?

Gói giải pháp doanh nghiệp

Nền tảng custom cho ngân hàng, y tế và sàn B2B, chuẩn ISO 27001, GDPR, PCI-DSS, SLA 99.99%.

Từ 50.000.000đXem chi tiết →

Dịch vụ phát triển Blockchain & Web3

Smart contract, dApp và NFT marketplace đa chuỗi, audit bảo mật đầy đủ trước khi lên mainnet.

Từ 50.000.000đXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Dịch vụ thiết kế landing page

Trang đích riêng cho từng chiến dịch quảng cáo, tỷ lệ chuyển đổi 3–8%, bàn giao trong 5–21 ngày.

Từ 3.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook