Mã hoá / Giải mã API
Mã hoá hoặc giải mã chuỗi sang Base64, Base64URL, hex, URL encode, HTML entity, Unicode escape, ROT13 hay nhị phân chỉ với một lần gọi API.
API Encode chuyển đổi văn bản qua lại giữa các kiểu mã hoá mà lập trình viên gặp hằng ngày. Chọn scheme – base64, base64url, hex, url, html, unicode, rot13 hoặc binary – và action (encode là mặc định, hoặc decode). Mọi thứ đều xử lý theo UTF-8 nên tiếng Việt, emoji và ký tự ngoài ASCII không bị lỗi font khi mã hoá rồi giải mã lại.
Chi tiết từng kiểu: base64url không có dấu = ở cuối (kiểu JWT); giải mã hex bỏ qua khoảng trắng và tiền tố 0x; url dùng percent-encoding (khi giải mã, + được đổi thành dấu cách); html thoát các ký tự & < > " ' và giải mã cả entity dạng tên lẫn dạng số; unicode chuyển ký tự ngoài ASCII thành \uXXXX; binary xuất các nhóm 8 bit cách nhau bởi dấu cách.
Gửi text qua query string, JSON body, hoặc gửi thẳng văn bản dạng text/plain. Kết quả trả về trong một JSON nhỏ kèm scheme và action đã dùng. Dữ liệu giải mã không hợp lệ (ví dụ Base64 hỏng) sẽ nhận lỗi decode_error rõ ràng.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
text | body|query | string | có | Chuỗi cần mã hoá hoặc giải mã (hoặc gửi dạng body text/plain). | |
scheme | body|query | string | không | base64 | base64, base64url, hex, url, html, unicode, rot13 hoặc binary. |
action | body|query | string | không | encode | encode (mã hoá) hoặc decode (giải mã). |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/encode" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Xin chào APIBox","scheme":"base64"}'const res = await fetch('https://apibox.io.vn/v1/encode', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"text": "Xin chào APIBox",
"scheme": "base64"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/encode",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"text": "Xin chào APIBox", "scheme": "base64"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/encode');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"text":"Xin chào APIBox","scheme":"base64"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"scheme": "base64",
"action": "encode",
"result": "WGluIGNow6BvIEFQSUJveA=="
}
Ứng dụng
- Giải mã chuỗi Base64 trong log, e-mail hoặc phản hồi API
- URL encode tham số trước khi ghép link
- Thoát nội dung người dùng thành HTML entity trước khi hiển thị
- Xem byte thô của chuỗi dưới dạng hex hoặc nhị phân
Hỏi đáp
Base64 và Base64URL khác nhau thế nào?
Base64URL thay + và / bằng - và _, đồng thời bỏ dấu = ở cuối để dùng an toàn trong URL và JWT. Khi giải mã, cả hai kiểu đều chấp nhận cả hai bảng ký tự.
Có xử lý được tiếng Việt và emoji không?
Có. Văn bản được chuyển sang byte UTF-8 trước khi mã hoá và giải mã lại từ UTF-8, nên "Xin chào" thành "WGluIGNow6Bv" trong Base64 và giải mã ra y nguyên.
Đây có phải là mã hoá bảo mật không?
Không. Base64, hex, URL encode và ROT13 chỉ là cách biểu diễn, ai cũng giải mã được. Muốn bảo vệ dữ liệu hãy dùng mã hoá thật; muốn tạo dấu vân tay dữ liệu hãy dùng /v1/hash.
API liên quan
Tạo mã hash
Tính MD5, SHA-1, SHA-256, SHA-384, SHA-512 và CRC32 của chuỗi hoặc file trong một lần gọi, xuất hex hoặc base64, hỗ trợ ký HMAC.
***Tạo mật khẩu
Tạo mật khẩu ngẫu nhiên an toàn bằng CSPRNG (4–256 ký tự, tối đa 100 cái mỗi lần) hoặc kiểm tra độ mạnh, entropy và thời gian bẻ khoá của mật khẩu.
JWTGiải mã & ký JWT
Giải mã mọi JWT, kiểm tra hạn dùng và xác thực chữ ký bằng secret, PEM hoặc JWK – hoặc ký token mới với HS256/384/512, RS, PS, ES.