Base58 mã hóa và giải mã
Văn bản thông thường trước tiên sẽ được chuyển đổi thành byte theo UTF-8, sau đó được mã hóa thành Base58 hoặc Base58Check.
Hoàn thành quá trình mã hóa và giải mã Base58 và Base58Check trong trình duyệt, hỗ trợ xem văn bản, tệp, bảng ký tự tùy chỉnh và kết quả thập lục phân.
Đề xuất Liên quan
Base58 và Base58Check là gì?
Base58 là mã hóa văn bản dành cho con người đọc và dán sao chép. Nó sẽ loại bỏ các ký tự dễ đọc sai như 0, O, I và l nên thường được sử dụng trong các tình huống như logo ngắn, mã mời, địa chỉ ví và mã chia sẻ ngoại tuyến.
Bảng ký tự Bitcoin Base58 tiêu chuẩn là `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`. Trang này hỗ trợ cả phiên bản Flickr của bảng chữ cái và bảng chữ cái 58 ký tự do chính bạn xác định.
Base58Check là giải pháp nối thêm tổng kiểm tra 4 byte sau byte ban đầu, sau đó mã hóa toàn bộ thành Base58. Nó thường được sử dụng cho các địa chỉ Bitcoin cũ, xuất khóa riêng WIF, mã thư mời hoặc chuỗi cần được sao chép thủ công. Mục đích là để phát hiện lỗi chính tả, thiếu từ hoặc không đúng thứ tự trước đó.
Nếu bạn nhận được tải trọng nhị phân, tải trọng địa chỉ hoặc đoạn băm thì nội dung được giải mã không nhất thiết phải là văn bản có thể đọc được. Lúc này, chuyển sang dạng thập lục phân để xem sẽ phù hợp hơn là đánh giá sai các ký tự bị cắt xén là lỗi giải mã.
IPFS CIDv0 sử dụng Base58btc tiêu chuẩn thay vì Base58Check; `bc1...` Loại địa chỉ Bitcoin này thuộc về Bech32 và không nằm trong phạm vi của trang này Base58.
Trường hợp sử dụng
- Xác minh xem địa chỉ Bitcoin cũ, chuỗi xuất khóa riêng WIF hoặc mã chia sẻ Base58Check tùy chỉnh có được nhập không chính xác hay không.
- Mã hóa các tệp nhỏ, đoạn nhị phân hoặc tải trọng thử nghiệm thành Base58 để dễ dàng phân phối trong nhật ký, cuộc trò chuyện hoặc phiếu yêu cầu.
- Giải mã chuỗi Base58 thành thập lục phân rồi phân tích chuỗi đó để tìm byte phiên bản, hàm băm hoặc tải trọng thô.
- So sánh kết quả đầu ra giữa Bitcoin Base58 và Flickr Base58 để tìm hiểu lý do tại sao cùng một bộ byte lại có kết quả khác nhau trong các hệ thống khác nhau.
- Thiết kế bảng ký tự 58 ký tự của riêng bạn cho mã lời mời nội bộ, biểu tượng ngắn hoặc mã thông báo ngoại tuyến và xác minh rằng cả hai đầu đều nhất quán.
Cách Sử dụng
- Chọn chế độ mã hóa hoặc giải mã; nếu bạn cần xử lý các chuỗi dễ bị lỗi do con người nhập vào, hãy bật tùy chọn Base58Check.
- Chọn Bitcoin, Flickr hoặc bảng ký tự tùy chỉnh; nếu đó là giao thức riêng tư, trước tiên hãy đảm bảo rằng cả hai bên đều sử dụng cùng một bộ gồm 58 chuỗi ký tự.
- Nhập văn bản hoặc tải tệp lên khi mã hóa; dán chuỗi Base58 khi giải mã, chuyển sang kết quả thập lục phân để xem byte thô nếu cần.
- Sao chép hoặc tải xuống trực tiếp sau khi xem đầu ra; nếu là Base58Check, trang sẽ nhắc đồng bộ xem quá trình xác minh đã thành công hay chưa.
Tính năng
- Chế độ kép Base58 và Base58Check tiêu chuẩn: mã hóa thông thường có thể được thực hiện trực tiếp hoặc tổng kiểm tra 4 byte có thể được tự động thêm vào hoặc xác minh.
- Cả văn bản và tệp đều có thể được mã hóa: văn bản thông thường sẽ được xử lý theo UTF-8 và các tệp sẽ được mã hóa theo byte thô, phù hợp để phân phối nội dung nhị phân ngoại tuyến.
- Kết quả giải mã có thể được chuyển đổi giữa văn bản hoặc thập lục phân: không bị mắc kẹt với những từ vô nghĩa khi gặp phải tải trọng địa chỉ, đoạn băm hoặc dữ liệu không phải UTF-8.
- Hỗ trợ Bitcoin, Flickr và bảng ký tự 58 ký tự tùy chỉnh: phù hợp để tương thích với các hệ thống hiện có hoặc gỡ lỗi các giải pháp mã ngắn riêng tư.
- Quá trình xử lý cục bộ của trình duyệt và tải xuống kết quả: mã hóa, giải mã và xác minh đều được hoàn thành cục bộ và đầu ra có thể được sao chép hoặc tải xuống trực tiếp.
Làm cách nào để chọn Base58, Base58Check, Base64?
Cả hai đều có thể chuyển đổi byte thành văn bản có thể đọc được, nhưng trọng tâm hoàn toàn khác nhau. Điều quan trọng không phải là "cái nào nâng cao hơn" mà là liệu bạn có coi trọng việc sao chép thủ công và ngăn ngừa lỗi nhiều hơn hay bạn coi trọng sự nhỏ gọn và khả năng tương thích phổ quát.
| kế hoạch | phù hợp hơn | Ưu điểm | Lưu ý |
|---|---|---|---|
| Base64 mã hóaBase64 URL An toàn | |||
| Base32 mã hóa |
Best Practices
Sẽ ưu tiên cho Base58Check khi được dịch vụ khách hàng chép lại hoặc chuyển tiếp theo cách thủ công
Miễn là chuỗi đó được đọc chính tả, chụp ảnh màn hình, chuyển tiếp trong cuộc trò chuyện hoặc nhập lại theo cách thủ công, thì tổng kiểm tra hầu như luôn có giá trị mở. Nó sẽ không ngăn chặn được tất cả các lỗi, nhưng nó sẽ làm giảm đáng kể các tình huống "trông có vẻ đúng nhưng thực ra lại thiếu một ký tự".
Khi kết quả được giải mã không phải là văn bản, trước tiên hãy xem hệ thập lục phân
Các nội dung như tải trọng địa chỉ, hàm băm, tiêu đề hình ảnh và đoạn nén không được đảm bảo là UTF-8. Trước tiên, hãy chuyển sang hệ thập lục phân để xác nhận byte gốc, sau đó quyết định xem có nên chuyển đổi tệp, tiếp tục băm hay chuyển nó cho các công cụ khác để xử lý hay không.
công cụ lục giácKhông sử dụng Base58 làm định dạng lưu trữ dài hạn cho các tệp lớn
Base58 phù hợp hơn với các chuỗi ngắn và tải trọng từ nhỏ đến trung bình. Tệp càng lớn thì đầu ra càng dài, việc sao chép càng khó thuận tiện và có nhiều khả năng bị cắt bớt trong văn bản đa dạng thức, công cụ trò chuyện hoặc nhật ký.
Khi tùy chỉnh bảng ký tự phải đồng bộ với tất cả các thiết bị đầu cuối sản xuất.
Chỉ cần một máy chủ, tập lệnh hoặc máy khách sử dụng một thứ tự khác thì kết quả mã hóa và giải mã đều sẽ bị sai lệch. Trước tiên, hãy sửa chuỗi 58 ký tự, sau đó ghi nó vào giao thức hoặc mẫu thử nghiệm.
Ưu tiên so sánh Base64URL khi cần truyền giao diện ngắn hơn, tổng quát hơn.
Ưu điểm của Base58 là dễ đọc và tránh nhầm lẫn nhưng không phải là kích thước nhỏ nhất. Nếu các chuỗi chủ yếu được truyền giữa các chương trình và không được con người phiên âm thì Base64URL thường nhỏ gọn và phổ biến hơn.
Base64 URL An toànCâu hỏi Thường gặp
Tôi nên chọn cái nào giữa Base58 và Base64?
Nếu chuỗi được đọc, sao chép hoặc nhập vào chuỗi khác, ưu tiên Base58; nếu chủ yếu được truyền trong các chương trình, giao diện, tham số JSON hoặc URL thì thường là Base64 hoặc Base64URL thì gọn hơn. Trọng tâm của Base58 là khả năng đọc và chống rối mã nguồn chứ không phải là kết quả đầu ra ngắn nhất.
Base58Check Nó giải quyết được vấn đề gì?
Nó thêm tổng kiểm tra 4 byte vào tải trọng ban đầu rồi mã hóa toàn bộ tải trọng bằng Base58. Bằng cách này, khi người dùng bỏ sót một từ, mắc lỗi đánh máy hoặc viết sai thứ tự, công cụ sẽ dễ dàng báo lỗi kịp thời hơn thay vì lặng lẽ nhận được một chuỗi kết quả vô nghĩa.
Trang này có thể xác minh địa chỉ Bitcoin không?
Có thể xác minh rằng lớp Base58Check là chính xác nên rất phù hợp để kiểm tra xem có lỗi đầu vào rõ ràng nào trong phiên bản cũ của địa chỉ Base58 hoặc chuỗi xuất WIF hay không. Tuy nhiên, nó sẽ không xác định thêm cách sử dụng địa chỉ, loại mạng và loại tập lệnh cũng như không hỗ trợ các địa chỉ Bech32 như `bc1...`.
Tại sao mã sau khi giải mã bị cắt xén hoặc lời nhắc không phải là UTF-8?
Bởi vì Base58 giải mã byte thô, không nhất thiết phải là văn bản có thể đọc được. Điều này có thể xảy ra với tải trọng địa chỉ, hàm băm, tiêu đề hình ảnh hoặc dữ liệu nhị phân tùy ý. Chuyển sang hệ thập lục phân để xem byte thô và bạn thường có thể tiếp tục phân tích.
Tệp Base58 mã hóa và giải mã có được hỗ trợ không?
Hỗ trợ. Bạn có thể tải tệp lên trong quá trình mã hóa và trang sẽ được chuyển đổi thành Base58 theo byte gốc; bạn cũng có thể tải lại kết quả ban đầu sau khi giải mã. Tệp càng lớn thì chuỗi đầu ra càng dài, giúp nó phù hợp hơn với khối lượng công việc vừa và nhỏ hoặc các tình huống gỡ lỗi.
Bảng ký tự nào được hỗ trợ?
Hiện hỗ trợ các tiêu chuẩn Bitcoin Base58, Flickr Base58 và bảng ký tự 58 ký tự tùy chỉnh của bạn. Miễn là đầu mã hóa và đầu giải mã sử dụng cùng một chuỗi ký tự, chúng có thể giao tiếp với nhau.
Nó có thể xử lý IPFS CID hoặc các chuỗi trên chuỗi khác không?
CIDv0 Các chuỗi Base58btc tiêu chuẩn như vậy có thể được mã hóa hoặc giải mã trực tiếp; nhưng trang sẽ không tiếp tục phân tích cú pháp ngữ nghĩa đa cơ sở, đa mã hoặc cụ thể trên chuỗi. Bech32 các chuỗi như `bc1...` không thuộc phạm vi của Base58.
Nội dung tải lên có được gửi đến máy chủ không?
Không. Văn bản, tệp và kết quả tổng kiểm tra Base58Check đều được xử lý cục bộ trong trình duyệt, phù hợp để gỡ lỗi các tải nhạy cảm, dữ liệu kiểm tra ngoại tuyến hoặc các đoạn tệp không thuận tiện khi tải lên.
Xử lý sự cố
Mẹo chứa Base58 ký tự không hợp lệ
Bảng ký tự hiện tại không chấp nhận các ký tự bị loại trừ như 0, O, I và l. Cũng có thể là bạn đã cắt nhầm bảng ký tự Bitcoin/Flickr/tùy chỉnh. Đầu tiên hãy xác nhận nguồn của chuỗi, sau đó kiểm tra xem bảng ký tự có phù hợp với bên kia hay không.
Base58Check xác minh không thành công
Điều này thường có nghĩa là chuỗi đó bị sao chép thiếu, các ký tự được viết không chính xác hoặc chính chuỗi đó không phải là Base58Check. Trước tiên hãy xác nhận xem bạn có thực sự cần mở Base58Check hay không, sau đó quay lại và kiểm tra xem nội dung gốc đã hoàn chỉnh chưa.
Không thể lưu bảng ký tự tùy chỉnh
Bảng ký tự tùy chỉnh phải dài chính xác 58 ký tự và mỗi ký tự chỉ được xuất hiện một lần. Trước tiên, nên sửa đổi bảng ký tự Bitcoin tiêu chuẩn để tránh thiếu ký tự hoặc ký tự lặp lại.
Kết quả được giải mã không phải là văn bản
Đây không hẳn là một lỗi. Nhiều chuỗi Base58 ban đầu mang tải trọng nhị phân. Chuyển sang hệ thập lục phân để xem hoặc tải xuống kết quả giải mã dưới dạng tệp, sau đó quyết định bước tiếp theo.
Thuật ngữ
- Base58
- Mã hóa văn bản 58 bit giúp loại bỏ các ký tự dễ nhầm lẫn như 0, O, I, l, v.v., phù hợp cho việc nhập và chia sẻ sao chép thủ công.
- Base58Check
- Tổng kiểm tra 4 byte được thêm vào sau tải trọng ban đầu, sau đó toàn bộ mã hóa Base58 được sử dụng để phát hiện lỗi đầu vào trước đó.
- Tải trọng
- Thực hiện Base58 hoặc Base58Check nội dung byte thô trước khi mã hóa, có thể là văn bản, byte tệp, tải trọng địa chỉ hoặc dữ liệu nhị phân tùy ý.
- Tổng kiểm tra
- Dấu vân tay ngắn để kiểm tra lỗi nhanh. Base58Check sẽ tăng gấp đôi SHA-256 tải trọng và lấy 4 byte đầu tiên làm tổng kiểm tra.
- Bitcoin Base58 Bảng ký tự
- Bảng ký tự Base58 phổ biến nhất: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
- Flickr Base58
- Flickr là một tập hợp sắp xếp khác được Base58 sử dụng, thứ tự trường hợp khác với phiên bản Bitcoin, do đó, các byte giống nhau sẽ có kết quả đầu ra khác nhau.
Bảng ký tự được trang hiện tại hỗ trợ
Đối với cùng một bộ byte, miễn là thứ tự bảng ký tự khác nhau thì đầu ra Base58 cuối cùng sẽ khác.
| bảng ký tự | Sử dụng phổ biến | Mô tả |
|---|---|---|
Khi nào bạn nên chuyển sang xem hệ thập lục phân?
Base58 Kết quả được giải mã không phải lúc nào cũng có thể đọc trực tiếp thành văn bản.
| Nội dung gặp phải | Một cách tốt hơn để xem | Lý do |
|---|---|---|
Authoritative References
- Bitcoin WikiBitcoin Wiki - Base58Check Mã hóa
- WikipediaWikipedia - Base58
- GitHubIPFS CID Thông số kỹ thuật
- GitHubBitcoin BIP-0173 Bech32
- So sánh chuỗi bảo mật
- Chuyển Đổi Nhị Phân
- Mật Mã Caesar
- Mã Morse
- Chuyển Đổi Hex
- Video sang Base64
- Base64 Sang Video
- Ảnh sang Base64
- Base64 sang ảnh
- Văn bản sang Base64
- Base64 Sang Văn Bản
- Trình kiểm tra hash tệp
- Tệp Sang Base64
- Base64 Sang Tệp
- Chuyển đổi Âm thanh sang Base64
- Base64 sang Âm thanh
- Mã hóa và giải mã AES
- Mã Hóa Giải Mã DES
- Bộ Mã Hóa Giải Mã Base32
- Base58 mã hóa và giải mã
- Mã hóa Base64
- Giải mã Base64
- So sánh Base64
- Chia Base64
- Base64 gộp nhiều dòng
- Định dạng Base64
- Kiểm Tra Định Dạng Base64
- Mã hóa Base64 hàng loạt
- Giải mã Base64 Hàng loạt
- Dọn dẹp Base64
- Xử lý padding Base64
- Thống Kê Độ Dài Base64
- Base64 Sang Hex
- Chuyển đổi Base64 DataURL
- Công cụ chuyển đổi Base64-Hex
- Bộ Mã Hóa Base85
- Tạo & Xác minh HMAC
- PBKDF2 Phái sinh khóa
- Băm MD5
- Hash SHA-256
- Băm SHA1
- Băm SHA512
- Công cụ JWT
- Mã hóa và giải mã HTML
- Escape Unicode
- Mã hóa URL
- URL Safe Base64
- MIME Base64
- Làm rối Java
- Làm rối JS
- Làm rối PHP
- Làm rối Python