Công cụ lập trình
Tám tiện ích dùng hằng ngày cho công việc web và backend: định dạng và kiểm tra JSON, mã hóa và giải mã Base64, URL và thực thể HTML, tạo UUID, tính giá trị băm (hash), đọc JWT và kiểm tra biểu thức chính quy (regex). Các công cụ chạy bằng API sẵn có của trình duyệt, nên token và dữ liệu không bao giờ rời khỏi máy của bạn.
Chọn công cụ
- Định dạng JSONLàm đẹp, rút gọn, kiểm tra hợp lệ và sắp xếp khóa.
- Mã hóa Base64Mã hóa hoặc giải mã văn bản UTF-8 và tệp.
- Mã hóa URLMã hóa phần trăm, giải mã và đọc chuỗi truy vấn.
- Tạo UUIDTạo hàng loạt UUID v4 ngẫu nhiên, kèm công cụ kiểm tra phiên bản.
- Tạo mã hashMD5, SHA-1, SHA-256, SHA-384, SHA-512 của văn bản hoặc tệp.
- Giải mã JWTĐọc header, payload và thời hạn của token.
- Kiểm tra RegexKết quả khớp trực tiếp, các nhóm và mẫu thông dụng.
- Mã hóa thực thể HTMLThoát và bỏ thoát &, < cùng các ký tự tương tự.
Một chuỗi, năm cách mã hóa
Văn bản “Café & crème?” được chạy qua từng công cụ khi trang này được tạo. Mã hóa có thể đảo ngược; hash thì không.
| Phương pháp | Kết quả | Độ dài | Có thể đảo ngược |
|---|---|---|---|
| Base64 | Q2Fmw6kgJiBjcsOobWU/ | 20 | Có |
| Mã hóa URL (encodeURIComponent) | Caf%C3%A9%20%26%20cr%C3%A8me%3F | 31 | Có |
| Thực thể HTML (có tên) | Café & crème? | 31 | Có |
| Hash MD5 | c0fdf467ecd73617537f508352d98c19 | 32 | Không (một chiều) |
| Hash SHA-256 | 5cac0437a796074c1d26e85fa57bc828ec3e4083a790da8b8d082a8de3531320 | 64 | Không (một chiều) |
Vì sao việc chạy cục bộ lại quan trọng
Dữ liệu đầu vào của các công cụ cho lập trình viên thường là những chuỗi nhạy cảm nhất mà bạn xử lý: token truy cập, phản hồi API chứa dữ liệu khách hàng, cấu hình có tên máy chủ nội bộ. Dán chúng vào một trang web gửi dữ liệu lên máy chủ nghĩa là tạo ra một bản sao nằm ngoài tầm kiểm soát của bạn. Mọi công cụ ở đây chỉ dùng Web Platform: JSON.parse và JSON.stringify, TextEncoder và atob cho Base64, encodeURIComponent, crypto.randomUUID, hàm digest của Web Crypto và bộ xử lý regex của JavaScript. Bạn có thể tải trang, ngắt kết nối mạng và vẫn tiếp tục làm việc.
Vì bộ xử lý là của chính trình duyệt, kết quả khớp với những gì mã front-end của bạn sẽ thực hiện. Regex chạy đúng ở đây cũng sẽ chạy đúng trong JavaScript của bạn; tài liệu JSON mà trình định dạng chấp nhận cũng là tài liệu mà JSON.parse chấp nhận.
Mã hóa, escape và băm là những việc khác nhau
Mã hóa (encoding) thay đổi cách ghi byte để dữ liệu truyền qua kênh mà không bị hỏng: Base64 (RFC 4648) biến byte bất kỳ thành 64 ký tự ASCII an toàn cho email và data URL, còn percent-encoding (RFC 3986) giúp văn bản an toàn khi nằm trong URL. Thoát ký tự (escaping) bằng HTML entity ngăn các ký tự như < và & bị hiểu là mã đánh dấu. Cả ba đều có thể được đảo ngược bởi bất kỳ ai và hoàn toàn không đảm bảo bí mật.
Băm (hashing) là một chiều: SHA-256 biến mọi đầu vào thành một dấu vân tay cố định 256 bit không thể đảo ngược về đầu vào. Giá trị băm dùng để xác minh bản tải xuống và phát hiện thay đổi, nhưng các hàm băm nhanh thông thường không phù hợp để lưu mật khẩu; hãy dùng hàm băm mật khẩu chậm như bcrypt, scrypt hoặc Argon2. Cuối cùng, JWT ở dạng ký phổ biến chỉ được mã hóa (encode) chứ không được mã hóa bảo mật (encrypt), vì vậy trình giải mã có thể hiển thị nội dung mà không cần khóa.
Khi bạn cần một file, không chỉ một đoạn mã
Các công cụ này xử lý văn bản bạn dán vào. Để chuyển cả tệp JSON xuất ra thành bảng tính, hãy dùng chuyển JSON sang CSV; để chuyển qua lại giữa các tệp JSON, XML, YAML và CSV, công cụ chuyển đổi dữ liệu sẽ xử lý các định dạng tệp.
Công cụ chuyển đổi liên quan:Chuyển đổi dữ liệuJSON sang CSV
Câu hỏi thường gặp
- Các công cụ lập trình này có an toàn với khóa bí mật của môi trường production không?
- Chúng không bao giờ gửi dữ liệu đầu vào đi, nhưng thói quen an toàn nhất vẫn là dùng token thử nghiệm và dữ liệu đã che thông tin khi có thể. Mọi thứ hiển thị trên màn hình đều có thể xuất hiện trong ảnh chụp màn hình hoặc khi chia sẻ màn hình.
- Những trình duyệt nào được hỗ trợ?
- Các phiên bản hiện tại của Chrome, Edge, Firefox và Safari. crypto.randomUUID và Web Crypto API yêu cầu trang bảo mật (HTTPS), điều mà UltKit luôn đáp ứng.
- Base64 có phải là một hình thức mã hóa bảo mật không?
- Không. Base64 là phép mã hóa có thể đảo ngược với bảng ký tự công khai; ai cũng có thể giải mã ngay lập tức. Nó chỉ giúp dữ liệu nhị phân được truyền an toàn dưới dạng văn bản.
- Vì sao kết quả của tôi khác với công cụ dòng lệnh?
- Thường là do ký tự xuống dòng hoặc bảng mã ký tự. Các công cụ mã hóa văn bản theo UTF-8 và không thêm ký tự xuống dòng ở cuối, trong khi echo trong shell sẽ thêm một ký tự nếu bạn không dùng echo -n.
- Các công cụ lập trình có lưu lịch sử không?
- Không. Không có gì được lưu giữa các lần truy cập; đóng thẻ trình duyệt là dữ liệu bạn nhập sẽ bị xóa. Hãy dùng nút sao chép hoặc tải xuống để giữ lại kết quả.