QR Code
QR Code (Quick Response Code)
Mã vạch hai chiều gồm các module hình vuông đen trắng sắp xếp theo mẫu lưới có thể mã hóa văn bản, URL, thông tin liên hệ hoặc dữ liệu khác, có thể đọc bằng camera điện thoại thông minh và máy quét chuyên dụng.
Chi tiết kỹ thuật
QR code (ISO 18004) có 40 phiên bản, từ 21x21 module (Phiên bản 1, 25 ký tự chữ-số) đến 177x177 module (Phiên bản 40, 4.296 ký tự chữ-số). Chúng sử dụng sửa lỗi Reed-Solomon ở bốn mức: L (khôi phục 7%), M (15%), Q (25%), và H (30%). Quá trình mã hóa bao gồm phân tích dữ liệu, mã hóa sửa lỗi, đặt module (dữ liệu, đồng bộ, căn chỉnh, tìm kiếm và mẫu định dạng), và che (8 mẫu được thử để giảm thiểu hiện tượng thị giác). QR code có thể mã hóa dữ liệu số, chữ-số, byte và Kanji. Trong JavaScript, các thư viện như qrcode.js và qr-code-styling tạo QR code trên phần tử Canvas hoặc SVG phía máy khách.
Ví dụ
```javascript
// QR Code — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0')).join('');
```