1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về QRcode ( Demo )

27 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ CƠ SỞ AN TỒN THƠNG TIN ĐỀ TÀI TÌM HIỂU VỀ QR-CODE Sinh viên thực hiện:Đinh Văn Giang-AT140118 Nguyễn Hồng Lưu-AT140132 Giảng viên hướng dẫn: Thầy Trần Anh Tú Khoa An Tồn Thơng tin – Học viện Kỹ thuật Mật Mã Hà Nội, tháng 10 năm 2020 MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU CHƯƠNG 1: QRCODE VÀ THUẬT TOÁN SINH MÃ QRCODE 1.QRcode : Mã vạch hệ 2.Thuật toán QRcode CHƯƠNG 2: THỰC NGHIỆM TẠO TRANG WEB SINH MÃ QR .25 KẾT LUẬN .27 TÀI LIỆU THAM KHẢO .27 LỜI CẢM ƠN Lời em xin chân thành cảm ơn thầy giáo, cô giáo khoa An Tồn Thơng tin trưởng Học viện Kỹ thuật Mật Mã, người dạy bảo, trang bị cho em kiến thức bổ ích suốt năm học qua Em xin bày tỏ lòng biết ơn sâu sắc tới Thầy Trần Anh Tú , người tận tình hướng dẫn chúng em suốt trình làm đề tài Dưới kết trình nghiên cứu tìm hiểu mà chúng em đạt thời gian qua.Tuy có nhiều cố gắng học hỏi trau dồi để nâng cao kiến thức tránh khỏi sai sót Em mong góp ý quý báu thầy giáo, cô giáo tất bạn để luận văn chúng em hoàn thiện Một lần em xin chân thành cảm ơn giúp đỡ thầy cô ! SINH VIÊN THỰC HIỆN ĐINH VĂN GIANG NGUYỄN HỒNG LƯU LỜI MỞ ĐẦU Với tăng trưởng ngày mạnh mẽ công nghệ số việc kiểm tra liệu, thơng tin sản phẩm cá nhân tổ chức cách nhanh chóng thuận tiện điều vơ quan trọng Vì lý mã qrcode đởi nhằm đáp ứng tối đa yèu cầu Mã QR giới marketing quáng cáo chuộng dùng cho ý tưởng quảng cáo tạp chí, băng ghế cơng viên, xe bt, đóng gói sản phẩm hay sản phẩm vật lý mà người tiêu dùng muốn tìm hiểu thêm thơng tin Ngồi cơng ty xí nghiệp trường học sử dụng mã qrcode để lưu trữ thông tin nhân viên sinh viên học sinh để phục vụ cho việc điểm danh, điểm chuyên cần nhân viên học sinh cùa cách nhanh chóng thuận tiện Vì em chọn đề tài “Tìm hiểu qrcode” với mục đích nghiên cứu tìm hiểu xây dựng trang web tạo mã qr đơn giản để có nhìn tổng quan.Nội dung báo cáo gồm 02 chương: CHƯƠNG 1: QRCODE VÀ THUẬT TOÁN SINH MÃ QRCODE CHƯƠNG 2: THỰC NGHIỆM TẠO TRANG WEB SINH MÃ QR CHƯƠNG 1: QRCODE VÀ THUẬT TOÁN SINH MÃ QRCODE 1.QRcode : Mã vạch hệ QR Code bây giở không xa lạ, bắt đầu xuất khắp nơi nhãn bia sản phẩm, gần phương thức nhận diện chủ yếu cho ứng dụng di động Vậy QR Code gì? QR Code, viết tắt cúa Quick response code (tạm dịch "Mã phản hồi nhanh") hay gọi mã vạch ma trận (matrix- barcode) dạng mã vạch hai chiều (2D) đọc máy đọc mã vạch hay smartphone (điện thoại thơng minh) có chức chụp ảnh (camera) với ứng dụng chuyên biệt để quét mã vạch Một mã QR chứa đựng thơng tin địa chì web (URL), thởi gian diễn kiện, thông tin liên hệ (như vCard), địa email, tin nhắn SMS, nội dung ký tự văn hay chí thơng tin định vị vị trí địa lý Tùy thuộc thiết bị đọc mã QR mà bạn dùng quét, dẫn bạn tới trang web, gọi đến số điện thoại, xem tin nhắn Điểm khác mã QR mã vạch truyền thống lượng liệu chúng nắm giữ hay chia sẻ Các mã vạch truyền thống có đưởng vạch thẳng dài chiều có thề lưu giữ 20 số chữ số, mã QR hai chiều lưu giữ thơng tin hàng ngàn ký tự chữ số Mã QR nắm giữ nhiều thông tin tính chất dễ sử dụng giúp ích nhiều cho người dùng lĩnh vực Ngoài ra, QR code có lợi đọc hai chiều ngang dọc từ hướng mà không bị ảnh hưởng chất liệu hay mà sử dụng Chính mà QR code xu hướng dần thay cho Bar code truyền thống QRcode có loại : động tĩnh -QRcode động, hay gọi “Qrcode trực tiếp”: sau khởi tạo, liên kết chúng chỉnh sửa mà không cần can thiệp vào code Khi quét, code động chuyến hướng bạn đến máy chủ, nơi lưu trữ thông tin cụ thể sở liệu lập trình để tương tác cụ thể với hình ảnh quét Code động tiện lợi chúng tạo áp dụng lần, bạn thay đổi thơng tin hiển thị quét liên kết(domain,web) để hiền thị thông tin -QRcode tĩnh: không giống code động, code tĩnh lưu trữ thơng tin trực tiếp qua hình thức văn dẫn đến trang web mà không cần chuyền hướng qua liên kết thứ cấp Điều có nghĩa thơng tin liên kết thay đổi chỉnh sửa(bạn phải tạo code tĩnh lần muốn cập nhật) Code tĩnh lý tướng cho người muốn mã chứa thơng tin họ vĩnh viễn(ví dụ, thơng tin ngày sinh nhóm máu) 2.Thuật toán QRcode 2.1 Tạo chuỗi nhị phân : Bước để tạo mã QR code tạo chuỗi nhị phân bao gồm liệu thơng tin chế độ mã hóa, độ dài liệu.Trong phần tìm hiểu mã hóa chuỗi HELLO WORLD Qrcode phiên 1, với mức độ sửa lỗi Q Bước 1: Mã hóa Bộ chế độ (Mode Indicator) Một chế độ chuỗi bit thể chế độ liệu bạn sử dụng: kiểu số, kiểu chuỗi, kiểu nhị phân Nhật ngữ Bit string 0001 Data mode Numeric Mode 0010 Alphanumeric Mode 0100 Binary Mode 1000 Japanese Mode Mode Indicator Với chuỗi HELLO WORLD, kiểu chuỗi, nên Bộ chế độ 0010 Chuỗi nhị phân: 0010 Bước Mã hóa độ dài liệu Trong bước này, xác định có ký tự thơng điệp, chuyển độ dài thành số nhị phân Với chuỗi HELLO WORLD, có 11 ký tự kể cà khoảng trắng Ta chuyển 11 sang nhị phân, 1011 Xem danh sách Khi mã hóa độ dài liệu, mã hóa sử dụng số lượng bit đặc tả Như nói đầu, sử dụng QR code phiên 1, nên cần sử dụng bit để mã hóa độ dài liệu Ta thêm số vào đầu chuỗi đủ bit: 000001011 Phiên tới -Kiểu số: 10 bits -Kiểu chuỗi: bits -Kiểu nhị phân: bits -Kiếu Nhật ngữ: bits Phiên 10 tới 26 -Kiều số: 12 bits -Kiểu chuỗi: 11 bits -Kiều nhị phân: 16 bits -Kiểu Nhật ngữ: 10 bits Phiên 27 tới 40 -Kiểu số: 14 bits -Kiểu chuỗi: 13 bits -Kiều nhị phân: 16 bits -Kiểu Nhật ngữ: 12 bits Tới chuỗi nhị phân là: 0010 000001011 Bước 3: Mã hóa liệu Để mã hóa chuỗi ký tự, ta chia chuỗi thành cặp ký tự: HE,LL,0 ,WO,RL,D Với cặp ký tự, ta lấy giá trị mã ASCII ký tự đầu nhân với 45, sau cộng với giá trị mã ASCII ký tự sau Sau chuyển kết thu thành chuỗi nhị phân 11 bit Đối với ký tự khơng có cặp, ta lấy giá trị mã ASCII chuyển thành chuỗi nhị phân bit Đối với chế độ khác: kiểu số, kiểu nhị phân, kiểu Nhật ngữ, ta sử dụng phương thức khác để mã hóa liệu Bước 4: Hồn thành bit Với chuỗi bit thu trên, ta phải chắn có đủ độ dài Điều phụ thuộc vào việc có bit cần để tạo phiên sửa lỗi Với QR code phiên 1, sửa lỗi mức độ Q Chúng ta phải tạo chuỗi 104 bit Nếu chuỗi bit nhỏ 104, ta phải thêm số vào cuối chuỗi Nếu thêm số chuỗi nhiều 104, ta cần thêm số đủ 104 bit Chuỗi có 74 bit, ta thêm số vào cuối chuỗi (Cịn chuỗi có 102 bit thỉ ta thêm số 0) Chuỗi ta bây giở là: 0010 000001011 01100001011 01111000110 10001011100 10110111000 10011010100 001101 0000 Bước 5: Giới hạn chuỗi thành chuỗi bit, sau thêm số cần Bước ta chia chuỗi thành nhóm bit Ở chuỗi cuối cùng, chưa đủ bit thỉ ta thêm vào sau số đủ Chuỗi thêm số vào sau chuỗi cuối 00100000 01011011 00001011 01111000 11010001 01110010 11011100 01001101 01000011 01000000 Bước 6: Thêm từ vào cuối chuỗi ngắn Nếu chuỗi bit chưa đủ dài, có hai chuỗi đặc biệt: 11101100 00010001 Ta thêm thay phiên hai chuỗi vào cuối chuỗi Chuỗi có 10 chuỗi con, cần phải thêm vào chuỗi Bắt đầu thêm 11101100, sau thêm 00010001, tới 11101100 Nếu cần nhiều thêm đủ số chuỗi 10 thức Công việc thực tay phức tạp, sử dụng generator polynomial tool Ở tạo 13 mã sửa lỗi: α 0x25 + α 74x24 + α 152x23 + α 176x22 + α 100x21 + α 86x20 + α100x19 + α06x18 + α l04x17 + α130x16 + α 2l8x15 + α 206x14 + α140x13+ α 78x12 Dưới đây, cho thấy bước việc phân chia đa thức cần thiết để tạo mã sửa lỗi Kết bước ta mã sửa lỗi: 168 72 22 82 217 54 156 46 15 180 122 16 Ta đặt đoạn mã sửa lỗi sau đoạn mã liệu: 32 91 11 120 209 114 220 77 67 64 236 17 236 168 72 22 82 217 54 156 46 15 180 122 16 Chuyển qua nhị phân: 00100000 01011011 00001011 01111000 11010001 01110010 11011100 01001101 01000011 01000000 11101100 00010001 11101100 10101000 01001000 00010110 01010010 11011001 00110110 10011100 00000000 00101110 00001111 10110100 01111010 00010000 2.3 Chọn mẫu mặt nạ phù hợp Bây mã hóa liệu, tất cịn lại chọn mẫu mặt nạ tốt Một mẫu mặt nạ thay đổi theo bit, theo quy tắc cụ thể Các mẫu mặt nạ định nghĩa tiêu chuẩn mã QR Có mẫu mặt nạ Sử dụng mơ hình mặt nạ cho phép để tạo tám mã QR khác sau chọn dễ dàng cho đầu đọc QR để quét Một đặc biệt mã QR có mẫu định đặc điểm mà làm cho khó khăn cho thiết bị đọc QR xác quét mã QR Ví dụ, điểm ảnh màu sắc xảy gần nhau, đầu đọc QR gặp khó khăn đọc xác điểm ảnh 13 Mỗi mơ hình mặt nạ tạo mã QR code khác Sau tạo mã khác QR nội bộ, cung cấp cho số điểm xử phạt theo quy tắc quy định tiêu chuẩn mã QR Sau đó, chúng tơi cho mã QR có số điểm tốt Bước : Tạo mã QR code: Với QR code phiên 1, ta cần ma trận 21x21 Tất mã QR code có vài mẫu nhận diện chắn phải thể Ở hình bên dưới, có ba vị trí nhận diện đặt bên trái, bên phải bên trái ma trận Các mã QR code cịn có pixel đen bên phải vị trí nhận diện bên bên trái Ngồi cịn có mẫu timing 14 Vị trí điều chỉnh mơ hình Từ ví dụ mã hóa phiên mã QR, chúng tơi khơng cần thêm mơ hình điều chỉnh vị trí Tuy nhiên, mã hóa mã QR phiên lớn hơn, chúng tơi thêm mẫu điều chỉnh vị trí ma trận Bảng liệt kê tọa độ nơi để đặt mơ hình điều chỉnh vị trí Xem ví dụ bảng Ví dụ, hình ảnh cho thấy mơ hình điều chỉnh vị trí cho phiên mã QR Mỗi mơ hình điều chỉnh vị trí điểm ảnh màu đen bao quanh điểm ảnh màu trắng bao quanh điểm ảnh màu đen Theo bảng trên, cho phiên mã QR 8, vị trí mơ hình điều chỉnh 6, 24, 42 Như ta thấy hình ảnh, mơ hình điều chỉnh vị trí đặt tất giao điểm ba số này, ngoại trừ có lớn mơ hình phát vị trí khơng đặt mơ hình điều chỉnh vị trí hàng đầu mơ hình phát vị trí góc mã QR Như hình : Version QR Code 15 Thêm thơng tin loại Các thông tin mức độ sửa lỗi mơ hình mặt nạ mã hóa dạng dải với cạnh mẫu phát vị trí Bảng sau hiển thị bit thơng tin loại yêu cầu cho cấp, sửa lỗi khác mẫu mặt nạ 16 ECC Level Mask Pattern Type Information Bits L 111011111000100 L 111001011110011 L 111110110101010 L 111100010011101 L 110011000101111 L 110001100011000 L 110110001000001 L 110100101110110 M 101010000010010 M 101000100100101 M 101111001111100 M 101101101001011 M 100010111111001 M 100000011001110 M 100111110010111 M 100101010100000 Q 011010101011111 Q 011000001101000 Q 011111100110001 Q 011101000000110 17 Trong ví dụ Hello World mơ hình mặt nạ tốt (điều giải thích đây) Chúng ta sử dụng mức độ hiệu chỉnh lỗi Q, chuỗi loại thơng tin 011010101011111 Như hình trên, chuỗi loại thông tin hiển thị hai lần Một số hai mơ hình phát vị trí hàng đầu, bên trái Nó bỏ qua q khứ mơ hình thời gian phần liệu lưới Điều thứ hai quyền mẫu phát vị trí, phía dưới, bỏ qua dấu chấm đen, phần liệu, mơ hình thời gian Cả hai sọc chuỗi: 011010101011111 Thêm thông tin phiên Nếu mã QR bạn phiên lớn hơn, bạn cần phải thêm bit thông tin phiên ma trận Đây đặt bên trái mơ hình: bên phải phát vị trí mơ hình phát vị trí phía bên trái, thể hình ảnh đây, đó có phiên mã QR Như hình : 18 Version Bits for Version Information 001010010011111000 000111101101000100 100110010101100100 danh sách bit thông 011001011001010100 phiên cần thiết cho tin 10 đặt Bảng sau cho thấy phiên Những bit 11 011011111101110100 12 001000110111001100 13 111000100001101100 14 010110000011011100 Trong ví dụ chúng ta, mã 15 16 000101001001111100 000111101101000010 QR nhỏ so với phiên cấu hình sau vị trí định hình : 7, không cần thêm bit thông tin phiên mã 19 Thêm liệu bist Cuối cùng, thêm bit liệu Trong bước này, thay đổi chút tùy thuộc vào mơ hình mặt nạ mà sử dụng trước thêm chút thực tế, sử dụng mẫu mặt nạ để định xem có nên thay đổi màu sắc cùa bit hay không Sắp xếp theo cột từ lên Các bit liệu thêm vào theo thứ tự cụ thể Các điểm ảnh thêm vào phía bên phải mã QR Điều thứ hai đặt bên trái Hai đặt đầu người theo thứ tự Hai cột điểm ảnh tiếp tục lên theo cách này, bỏ qua điểm ảnh thiết lập, đạt đến hàng đầu mã QR 20 21 Xuống cột Một đạt đến đỉnh, cột hai-pixel bắt đầu, thởi gian xuống Khi bạn đạt đến lưới, thay đối hướng lần nữa, tiếp tục mơ hình giống đưởng rắn Chắc chắn bỏ qua mẫu timing Khi bạn thêm pixels,hãy chắn để bỏ qua mơ hình thởi gian 22 Và mẫu timing chiều dọc : 23 Hoàn tất QRcode Tiếp tục theo cách tất điểm ảnh liệu đặt Sau đó, mã QR hồn tất Tuy nhiên, đặc điểm kỹ thuật mã QR yêu cầu bạn sử dụng mơ hình mặt nạ tốt Hình ảnh sau hồn thiện: 24 CHƯƠNG 2: THỰC NGHIỆM TẠO TRANG WEB SINH MÃ QR Đoạn code sau mô tả thư viện cần sử dụng chương trình tạo mã QRcode Ban đầu phải kết nối đến thư viện “qrlib.php”, thư viện chứa tập tin thư mục gốc tiếp đến $tempDir = ‘temp/’; tên thư mục chứa file ảnh qrcode Biến $codeContents gán thông tin email, họ tên , nội dung người dùng nhập Tên ảnh đặt phần tên email lưu vào file ‘temp’ với đuôi đinh dạng ảnh png QR_ECLEVEL_L : mức độ sửa lỗi mã QR sử dụng sửa lỗi Reed-Solomon, có mức độ L,M,Q,H tương đương với 7%, 15%,25%,30% phục hồi liệu Khi có đầy đủ giá trị tiếp đến câu lệnh : QRcode::png($codeContents, $tempDir.’’.$filename.’.png’, QR_ECLEVEL_L , 5); thực thi nhiệm vụ lại tạo code hoàn chỉnh 25 Sau hình ảnh giao diện trang web tạo mã QRcode đơn giản với chức tạo mã code cho phép tải xuống 26 KẾT LUẬN Trong nghiên cứu chúng em nghiên cứu, tìm hiểu Qrcode cách tạo mã QRcode ngôn ngừ lập trình PHP Song bên cạnh cịn có hạn chế sau:  Giao diện website cịn đơn giản chưa bắt mắt  Website cần phát triển thêm chức giao diện TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt [1] Hướng dẫn lập trình tạo QRcode với HTML5- JavaScript [2] Lập trình web PHP 5.3- Phạm Hữu Khang Tham khảo Internet [1] https://www.w3schools.com/ [2] http://phpqrcode.sourceforge.net/ 27 ... code (tạm dịch "Mã phản hồi nhanh ") hay gọi mã vạch ma trận (matrix- barcode) dạng mã vạch hai chiều (2 D) đọc máy đọc mã vạch hay smartphone (? ?iện thoại thơng minh) có chức chụp ảnh (camera) với... đa thức, chuyển đổi qua lại ký hiệu α (alpha) số nguyên Alpha giá trị số nguyên từ bảng log antilog Bộ tạo đa thức ln ln có dạng (x – ? ?) (x – α 2) (x – αt), t tương đương với số lượng mã sửa lồi... tài ? ?Tìm hiểu qrcode? ?? với mục đích nghiên cứu tìm hiểu xây dựng trang web tạo mã qr đơn giản để có nhìn tổng quan.Nội dung báo cáo gồm 02 chương: CHƯƠNG 1: QRCODE VÀ THUẬT TOÁN SINH MÃ QRCODE

Ngày đăng: 12/06/2022, 18:16

Xem thêm:

TỪ KHÓA LIÊN QUAN

w