1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về bảo mật dữ liệu và xây dựng ứng dụng bảo mật dữ liệu hình ảnh trên nền tảng android

44 14 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

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC  KHÓA LUẬN TỐT NGHIỆP TÌM HIỂU VỀ BẢO MẬT DỮ LIỆU VÀ XÂY DỰNG ỨNG DỤNG BẢO MẬT DỮ LIỆU HÌNH ẢNH TRÊN NỀN TẢNG ANDROID SVTH: Mai Thị Kim Thoa

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC



KHÓA LUẬN TỐT NGHIỆP

TÌM HIỂU VỀ BẢO MẬT DỮ LIỆU VÀ XÂY DỰNG ỨNG DỤNG BẢO MẬT DỮ LIỆU HÌNH ẢNH TRÊN NỀN TẢNG ANDROID

SVTH: Mai Thị Kim Thoa

Lớp 10CNTT4, Khoa Tin học, Trường Đại học Sư Phạm, Đại học Đà Nẵng

GVHD: ThS Nguyễn Thanh Tuấn

Khoa Tin học, Trường Đại học Sư Phạm, Đại học Đà Nẵng

Đà Nẵng, tháng 5 năm 2014

Trang 2

Thanh Tuấn, người đã tận tình dẫn dắt, truyền đạt kinh nghiệm, tri thức và đã tạo điều kiện tốt nhất để tôi hoàn thành được luận văn tốt nghiệp này

Tôi cũng gửi lời cảm ơn đến các Thầy, Cô đã giảng dạy cho tôi trong suốt quá trình học tập, những người đã truyền đạt cho tôi những tri thức mới, phương pháp và kinh nghiệm trong nghiên cứu khoa học và ứng dụng

Xin được cảm ơn trường Đại học Sư Phạm, Đại học Đà Nẵng, khoa Tin học

đã tạo mọi điều kiện để tôi được đi học và hoàn thành tốt khóa học

Xin chân thành cảm ơn các bạn cùng khóa đã luôn bên cạnh, động viên, khuyến khích tôi trong suốt thời gian học tập và thực hiện đề tài

Những lời cảm ơn sau cùng tôi xin cảm ơn đến gia đình tôi, những người đã dành cho tôi những lời động viên, những hỗ trợ kịp thời nhất giúp tôi hoàn thành tốt luận văn tốt nghiệp này

Xin chân thành cảm ơn

Sinh viên

Mai Thị Kim Thoa

Trang 3

Tôi xin cam đoan đây là công trình nghiên cứu của bản thân Các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và chưa từng được ai công

bố trong bất cứ công trình nghiên cứu nào trước đây

Sinh viên

Mai Thị Kim Thoa

Trang 4

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 3

1.1 Bảo mật dữ liệu 3

1.1.1 Khái niệm 3

1.1.2 Sự cần thiết của bảo mật 3

1.1.3 Quá trình mã hóa và giải mã 3

1.1.4 Hệ mã khóa bí mật 4

a Khái niệm 4

b Hệ mã AES 4

1.1.5 Hệ mã khóa công khai 8

a Khái niệm 8

b Hệ mã RSA 8

1.2 So sánh giữa hệ mã khóa bí mật và hệ mã khóa công khai 9

1.3 Tổng quan về Android 10

1.3.1 Android và lịch sử phát triển 10

1.3.2 Chức năng chính trong Android 10

1.3.3 Kiến trúc của Android 11

1.3.4 Các thành phần của Android 11

1.3.5 Vòng đời của một ứng dụng Android 13

1.3.6 Lưu trữ dữ liệu trong Android 13

1.4 Kết chương 14

CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG 15

2.1 Các chức năng chính của ứng dụng 15

2.2 Thiết kế giao diện ứng dụng 16

2.3 Phân tích đặc tả hệ thống 17

2.3.1 Đặc tả hệ thống (Use case) 17

2.3.2 Biểu đồ lớp (Class Diagram) 22

2.3.3 Phân tích và thiết kế cơ sở dữ liệu 25

Trang 5

CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 29

3.1 Màn hình tạo mật khẩu quản trị 29

3.2 Màn hình đăng nhập vào ứng dụng 30

3.3 Màn hình tạo thư mục bảo mật 31

3.4 Màn hình khôi phục mật khẩu cho thư mục bảo mật 32

3.5 Màn hình thực hiện việc mã hóa hình ảnh 33

3.6 Màn hình thực hiện việc giải mã hình ảnh 34

3.7 Kết chương 34

KẾT LUẬN 35

TÀI LIỆU THAM KHẢO 36

Trang 6

IBM International Business Machines Tập đoàn công nghệ máy tính đa quốc

gia IBM

Trang 7

Hình 2 Quy trình mã hóa và giải mã AES 5

Hình 3 Bước SubBytes 6

Hình 4 Bước ShifRows 6

Hình 5 Bước MixColumns 7

Hình 6 Bước AddRoundKey 7

Hình 7 Kiến trúc hệ điều hành Android 11

Hình 8 Truyền dữ liệu giữa hai Activity thông qua Intent 12

Hình 9 Vòng đời của Service 12

Hình 10 Vòng đời của một ứng dụng Android 13

Hình 11 Các chức năng chính của ứng dụng 15

Hình 12 Giao diện tạo mật khẩu quản trị và giao diện đăng nhập vào ứng dụng16 Hình 13 Giao diện tạo thư mục bảo mật và giao diện khôi phục mật khẩu cho thư mục bảo mật 16

Hình 14 Giao diện xóa thư mục bảo mật và giao diện thực hiện thao tác mã hóa hình ảnh 17

Hình 15 Giao diện dùng để giải mã hình ảnh 17

Hình 16 Sơ đồ use case tổng quát 17

Hình 17 Biểu đồ quan hệ giữa các lớp 24

Hình 18 Sơ đồ thực thể quan hệ 25

Hình 19 Màn hình tạo mật khẩu quản trị 29

Hình 20 Màn hình đăng nhập vào ứng dụng 30

Hình 21 Màn hình tạo thư mục bảo mật 31

Hình 22 Màn hình Khôi phục mật khẩu cho thư mục bảo mật 32

Hình 23 Màn hình chọn hình ảnh để thực hiện mã hóa 33

Hình 24 Màn hình giải mã hình ảnh về thư mục cũ hoặc xóa hình ảnh 34

Trang 8

Bảng 2 Bảng so sánh giữa hệ mã khóa bí mật và hệ mã khóa công khai 9

Bảng 3 Mô tả tác nhân 18

Bảng 4 Luồng sự kiện của use case đăng nhập 18

Bảng 5 Luồng sự kiện của use case khôi phục mật khẩu 19

Bảng 6 Luồng sự kiện của use case xóa thƣ mục bảo mật 20

Bảng 7 Luồng sự kiện của use case mã hóa hình ảnh 20

Bảng 8 Luồng sự kiện của giải mã hình ảnh 21

Bảng 9 Luồng sự kiện của use case xem hình ảnh 21

Bảng 10 Luồng sự kiện của use case xóa hình ảnh 22

Bảng 11 Toàn vẹn giá trị của bảng pin 25

Bảng 12 Toàn vẹn giá trị của bảng pass_folder 26

Bảng 13 Toàn vẹn giá trị của bảng image_path 26

Trang 9

MỞ ĐẦU

A Tính cấp thiết của đề tài

Ngày nay điện thoại thông minh (smartphone) được sử dụng rộng rãi Hầu như ai cũng sở hữu trong tay một thiết bị di động không những hỗ trợ chức năng nghe gọi, mà còn đi kèm nhiều ứng dụng đa phương tiện như nghe nhạc, chơi game hay chụp hình Mọi dữ liệu cá nhân cũng như hình ảnh của người dùng được lưu trữ toàn bộ trên chiếc điện thoại thông minh này Tuy nhiên, có một số hình ảnh mang tính chất riêng tư mà chủ nhân không muốn người khác nhìn thấy khi cho họ mượn điện thoại của mình, hoặc chiếc điện thoại bị đánh cắp hay vô tình làm mất, người ta có thể dễ dàng nhìn thấy hoặc phát tán các hình ảnh cá nhân của mình lên các trang mạng xã hội Chính vì thế vấn đề đặt ra ở đây đó là việc cần phải mã hóa hình ảnh để đảm bảo các yêu cầu cá nhân của người sử dụng

Để giải quyết những vấn đề nêu trên tôi chọn đề tài tìm hiểu về bảo mật dữ liệu và xây dựng ứng dụng bảo mật dữ liệu hình ảnh trên nền tảng Android

1 Tình hình nghiên cứu và tính mới của đề tài

Những chiếc điện thoại thông minh hiện nay thường được trang bị một máy ảnh với độ phân giải cao và chất lượng ngày càng được cải tiến Bởi vậy, người dùng có thể sử dụng điện thoại của mình như là một sự thay thế cho một máy ảnh

kỹ thuật số, bất chấp việc đôi lúc chất lượng không đáp ứng những nhu cầu của người dùng Người dùng có thể có rất nhiều hình ảnh cá nhân trong điện thoại mà

có thể không muốn chia sẻ với những người mượn hoặc dùng chung điện thoại của mình với lý do nào đó Trong trường hợp như vậy, tốt hơn hết là bảo vệ hình ảnh bằng cách sử dụng công cụ để mã hóa chúng nhằm tránh những cặp mắt tò

Trong kho ứng dụng Play Store hiện nay đã có rất nhiều ứng dụng để mã hóa, bảo vệ hình ảnh trong thư viện của điện thoại Android của người dùng, như

Tuy nhiên, hầu hết các ứng dụng này đều chỉ có thể mã hóa một thư mục nào đó

để lưu ảnh Chính vì thế, đề tài này sẽ xây dựng phần mềm cho phép mã hóa hình ảnh theo từng nhóm, với mỗi nhóm sẽ có một mật khẩu riêng và mỗi nhóm sẽ là những hình ảnh mà người dùng muốn mã hóa tùy thuộc vào những mục đích khác nhau

B Mục đích của đề tài

1

http://sacomtec.com/tin-tuc/52C451.aspx

Trang 10

Đề tài nhằm nghiên cứu những vấn đề sau:

trong hệ điều hành Android

dụng mã hóa dữ liệu hình ảnh hoàn chỉnh chạy trên thiết bị di động nền tảng Android

C Phương pháp nghiên cứu

Sử dụng cơ sở lý thuyết về các thuật toán mã hóa để so sánh các loại thuật toán mã hóa được hỗ trợ trên hệ điều hành Android, từ đó lựa chọn một thuật toán phù hợp nhất với đề tài

Sử dụng các kiến thức về phân tích, thiết kế, xây dựng ứng dụng trên điện thoại di động

D Ý nghĩa khoa học và thực tiễn của đề tài

Về khoa học: Đề tài tập trung nghiên cứu vào vấn đề mã hóa hình ảnh một cách an toàn và nhanh chóng nhất

Về thực tiễn: Ứng dụng nhằm mục đích mã hóa hình ảnh cho các thiết bị di động chạy trên nền tảng Android

E Cấu trúc luận văn

Luận văn gồm 3 chương như sau:

Chương 1 Bảo mật dữ liệu & Tổng quan về Android

Chương này sẽ tập trung giới thiệu về những vấn đề liên quan đến bảo mật

dữ liệu như khái niệm, tầm quan trọng của việc bảo mật dữ liệu, và những thuật toán được áp dụng để mã hóa dữ liệu

Và cũng trong chương này tôi đã giới thiệu sơ lược về hệ điều hành Android,

từ các chức năng chính, kiến trúc, các thành phần, vòng đời của một ứng dụng Android đến cách lưu trữ dữ liệu trên hệ điều hành này

Chương 2 Phân tích, thiết kế ứng dụng

Đây là chương với mục đích phân tích và thiết kế ứng dụng, từ việc xây dựng

ý tưởng, đến việc thực hiện ý tưởng trở thành một ứng dụng cụ thể Trong chương này cũng đề cập tới thuật toán mã hóa được hỗ trợ trong Android

Chương 3 Xây dựng chương trình ứng dụng

Với chương này, tôi sẽ trình bày về sản phẩm đã xây dựng được, từ đó xem

có đạt được những yêu cầu đã đề ra ban đầu hay không

Trang 11

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Bảo mật dữ liệu

1.1.1 Khái niệm

Bảo mật là khái niệm bao gồm tất cả các phương pháp như các kỹ thuật xác nhận danh tính, mật mã hóa, che giấu thông tin, xáo trộn, … nhằm đảm bảo cho các dữ liệu được truyền đi, cũng như các dữ liệu lưu trữ được chính xác và an toàn

1.1.2 Sự cần thiết của bảo mật

Ngay từ thời xa xưa, để tỏ lòng tôn kính người đã khuất, người Ai Cập đã khắc những kí hiệu tượng hình trên các bia mộ Các mã hiệu mật được khắc trong các ngôi mộ cho đến ngày nay vẫn được các nhà khảo cổ tìm hiểu khám phá Qua các thời kỳ, cùng với thời gian, kỹ thuật mật mã hóa đã có nhiều thay đổi và ngày càng hoàn thiện Trong chính trị, quân sự, cũng như trong kinh tế, thời chiến cũng như thời bình, thì sự bảo mật dữ liệu và an toàn dữ liệu là vấn đề ưu tiên hàn đầu Sự đảm bảo an toàn dữ liệu hầu như tuyệt đối là đòi hỏi đầu tiên đối với truyền thông trong các lĩnh vực quan trọng Chúng ta đã thấy vai trò cực kỳ quan trọng của nó không chỉ trong chiến tranh Việt Nam mà bất kì một cuộc hiến nào,

từ thời xa xưa với cuộc chiến giữa các tộc người thời hiện đại với các cuộc chiến tranh của thời đại nguyên tử, từ các cuộc nội chiến với quy mô nhỏ, đến các cuộc thế chiến quyết định tính mạng của toàn nhân loại

Ngày nay sự bảo đảm an toàn dữ liệu đã trở thành vấn đề quan tâm của rất nhiều người trong đó có các cá nhân, các tổ chức, cũng như các chính phủ, khi

mà nguy cơ đe dọa bị rò rỉ tin tức hoặc nguy cơ xâm phạm đang trở thành vấn đề phải đối phó hàng ngày, hàng giờ

Chính vì thế, vấn đề an toàn dữ liệu là một vấn đề rất cần được xem xét và có hướng phát triển song song cùng với sự phát triển của các kỹ thuật hiện đại

1.1.3 Quá trình mã hóa và giải mã

Nếu người dùng muốn bảo vệ những dữ liệu quan trọng của mình, hãy nghĩ tới việc mã hóa chúng Mã hóa là một giải pháp hữu hiệu và thông dụng được sử dụng trong lĩnh vực bảo mật dữ liệu Dưới đây là hình ảnh mô phỏng quá trình

Trang 12

Hình 1 Quá trình mã hóa và giải mã [1]

1.1.4 Hệ mã khóa bí mật

a Khái niệm

Trong mật mã học, hệ mã khóa bí mật là một lớp các thuật toán mật mã hóa trong đó các khóa dùng cho việc mật mã hóa và giải mã có quan hệ rõ ràng với nhau (có thể dễ dàng tìm đƣợc một khóa nếu biết khóa kia) Khóa dùng để mã hóa có liên hệ một cách rõ ràng với khóa dùng để giải mã có nghĩa chúng có thể hoàn toàn giống nhau, hoặc chỉ khác nhau nhờ một biến đổi đơn giản giữa hai khóa [2]

b Hệ mã AES

AES (Advanced Encryption Standard) là một thuật toán mã hóa khối đƣợc

chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa AES đƣợc kỳ vọng áp dụng trên phạm vi thế giới và đã đƣợc nghiên cứu rất kỹ lƣỡng AES đƣợc chấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm [2, 3]

AES sử dụng dữ liệu đầu vào và key là hệ Hex, vì thế bản rõ và key phải

đƣợc chuyển đổi từ hệ ASCII sang hệ Hex Tùy thuộc vào độ dài của key khi sử dụng 128 bit, 196 bit và 256 bit mà AES có các cách mã hóa với số lần lặp khác

Trang 13

Hình 2 Quy trình mã hóa và giải mã AES

Trang 14

Bước SubBytes – đây là phép thế (phi tuyến) trong đó mỗi byte trong trạng thái sẽ được thế bằng một byte khác theo bảng tra (Rijndael S-box)

Bước ShiftRows – dịch chuyển, các hàng trong trạng thái được dịch vòng theo số bước khác nhau

Bước MixColumns – quá trình trộn làm việc theo các cột trong khối theo một phép biến đổi tuyến tính

Tại chu trình cuối thì bước MixColumns không thực hiện

bảng tra S; bij = S(aij)

Hình 3 Bước SubBytes

trái Số vị trí dịch chuyển tùy thuộc từng hàng

Hình 4 Bước ShifRows

c(x)

Trang 15

Hình 5 Bước MixColumns

trong khóa con của chu trình sử dụng phép toán XOR

Hình 6 Bước AddRoundKey

Giải mã AES

Các phép biến đổi trong phép mã hóa có thể được đảo ngược và sau đó thực hiện theo chiều ngược lại nhằm tạo ra phép giải mã trực tiếp của thuật toán AES Các phép biến đổi sử dụng trong phép giải mã gồm: InvShiftRows(), InvSubBytes(), InvMixColumns() và AddRoundKey()

InvSubBytes(): Phép biến đổi InvSubBytes() là nghịch đảo của phép thay thế theo byte SubBytes(), trong đó sử dụng một hộp-S nghịch đảo áp dụng cho mỗi byte của trạng thái

InvShiftRows(): Phép biến đổi ShiftRows() là phép biến đổi ngược của ShiftRows() Các byte trong ba từ cuối của trạng thái được dịch vòng theo số byte khác nhau Ở hàng đầu tiên (r = 0) không thực hiện phép chuyển dịch, ba hàng dưới cùng được dịch vòng Nb – shift(r, Nb) byte

Trang 16

InvMixColumns(): Phép biến đổi InvMixColumns() là phép biến đổi ngƣợc của MixColumns() Nó thao tác theo từng cột của trạng thái, xem mỗi cột nhƣ một đa thức bốn hạng tử

Biến đổi nghịch AddRoundKey(): Phép biến đổi AddRoundKey() là phép biến đổi thuận nghịch vì nó chỉ áp dụng một phép toán XOR nên nó đƣợc thực hiện nhƣ ở cả phép mã hóa và phép giải mã

Nhận xét về AES

Ƣu điểm:

hoạt từ 128, 192, 512 đến 1024 bit

thi nhanh Cấu trúc các hàm và các hộp S đƣợc cải tiến để tăng độ an toàn

Hạn chế: Không thích hợp trên các thiết bị thẻ thông mình vì cần nhiều mã

và số vòng xử lý, không kế thừa lại mã lệnh mã hóa trong giải mã hoặc rất ít trong cả thiết kế phần cứng và phần mềm

1.1.5 Hệ mã khóa công khai

RSA (viết tắt từ tên 3 nhà toán học đã phát minh ra hệ mã RSA là R.Rivest,

A.Shamir và L.Adleman) là một hệ khóa công khai đƣợc dùng phổ biến nhất Giả sử A muốn gửi cho B thông điệp P

1 Sinh khóa cho hệ mã: B tạo khóa nhƣ sau:

Trang 17

 Số hóa thông điệp P, nhóm lại thành các khối m sao cho m < n

nhiều nhất trong số các thuật toán với khóa công khai

Nhược điểm:

1.2 So sánh giữa hệ mã khóa bí mật và hệ mã khóa công khai

Bảng 2 Bảng so sánh giữa hệ mã khóa bí mật và hệ mã khóa công khai 2

gửi (cho việc mã hóa) và người nhận

(cho việc giải mã)

điệp phải chia sẻ 1 bí mật, gọi là chìa

thể được giải mã với chìa khóa riêng của người nhận

2

doi-xung-Ung-dung-cua-chung.kdh

Trang 18

http://kenhdaihoc.com/forum/threads/29343-So-sanh-giua-ma-hoa-doi-xung-va-ma-hoa-bat-1.3 Tổng quan về Android 3

1.3.1 Android và lịch sử phát triển

Android là một hệ điều hành dành cho thiết bị di động nhƣ điện thoại, máy tính bảng và netbooks Android đƣợc phát triển bởi Google, dựa trên nền tảng Linux kernel và các phần mềm nguồn mở Ban đầu nó đƣợc phát triển bởi Android Inc (sau đó đƣợc Google mua lại) và gần đây nó trở thành một trong những phần mềm đứng đầu của liên minh OHA (Open Handset Alliance - với khoảng 78 thành viên bao gồm cả nhà sản xuất, nhà phát triển ứng dụng cho thiết bị di dộng mà dẫn đầu là Google)

Android có một cộng đồng phát triển ứng dụng rất lớn, hiện có khoảng hơn 70.000 ứng dụng có sẵn cho Android và đang liên tục đƣợc cập nhật Ứng dụng đƣợc phát triển bằng ngôn ngữ Java kết hợp với thƣ viện Java có sẵn của Google Các nhà phát triển ứng dụng có thể sử dụng máy tính chạy hệ điều hành Windows hoặc MacOS hoặc Linux kết hợp với Android SDK để phát triển ứng dụng cho Android

Để phát triển phần mềm trên Android, các lập trình viên có thể tải về bộ công

cụ phát triển (Android SDK) Bộ công cụ bao gồm các công cụ và các API cần thiết, sử dụng ngôn ngữ Java để lập trình

1.3.2 Chức năng chính trong Android

Các chức năng mà Android cung cấp:

thế mã nguồn ở dạng component một cách dễ dàng

đối với đồ họa 3D, Android sử dụng thƣ viện OpenGL ES 1.0 nếu thiết bị có hỗ trợ

H.264, MP3, AAC, AMR, JPG, PNG, GIF

3

http://duythanhcse.wordpress.com/android/

Trang 19

1.3.3 Kiến trúc của Android

Hình 7 Kiến trúc hệ điều hành Android

Applications: Hệ điều hành Android tích hợp sẵn một số ứng dụng cơ bản

như email client, SMS, trình duyệt web và một số ứng dụng khác

Application Framework: thành phần quan trọng nhất là Acitivity, người

phát triển được phép sử dụng đầy đủ bộ API được tích hợp sẳn của Android

Android Runtime: Hệ điều hành Android tích hợp sẵn một tập hợp các thư

viện cốt lõi cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java

Linux Kernel: Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6

cho những dịch vụ hệ thống cốt lõi Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng

1.3.4 Các thành phần của Android

Activity: Một activity thể hiện một giao diện đồ họa người dùng Ví dụ một

activity có thể biểu diễn một danh sách các menu item để có thể chọn và hiện thị hình ảnh cùng tiêu đề Một ứng dụng gửi tin nhắn văn bản có thể có một hoạt động là hiển thị danh sách các liên hệ để gửi tin nhắn tới, hoạt động thứ hai là hoạt động viết tin nhắn tới liên hệ được chọn, các hoạt động tiếp theo là hoạt

Trang 20

động xem lại tin nhắn cũ hay thay đổi cài đặt Mặc dù chúng làm việc cùng nhau

để tạo thành một giao diện người dùng, mỗi activity độc lập với những cái khác Mỗi activity là một lớp con của lớp cơ sở Activity

Intent: Android sử dụng Intent (Hình 8) là những thông điệp bất đồng bộ để cho phép các thành phần ứng dụng “nói chuyện” được với nhau: yêu cầu chức năng từ thành phần khác, cho phép tương tác với các thành phần riêng và các ứng

dụng khác

Hình 8 Truyền dữ liệu giữa hai Activity thông qua Intent

BroadcastReceiver (có thể gọi là Receiver): Là một trong bốn loại thành

phần trong ứng dụng Android Chức năng dùng để nhận các sự kiện mà các ứng dụng hoặc hệ thống phát đi Có 2 cách phát – nhận đó là:

và cũng tách rời nhau

truyền thêm thông tin xử lý cho các receiver sau

Service: Tương tự như Intent thì Service cũng có vòng đời của nó, và

Android quy định cách bạn chỉ định một service khởi chạy nó và kết thúc nó như

Hình 9 Vòng đời của Service

Trang 21

1.3.5 Vòng đời của một ứng dụng Android

Hình 10 Vòng đời của một ứng dụng Android

Running (đang kích hoạt): Activity đang hiển thị trên màn hình

(foreground) Activity này tập chung vào những thao tác của người dùng trên ứng dụng

Paused (tạm dừng): Activity được tạm dừng, tuy vẫn hiển thị (visible)

nhưng không thể tương tác (lost focus) Có nghĩa là một activity mới ở trên nó, nhưng không bao phủ đầy màn hình Một activity tạm dừng là còn sống, nhưng

có thể bị kết thúc bởi hệ thống trong trường hợp thiếu vùng nhớ

Stop (dừng – không phải Destroyed): Activity bị thay thế hoàn toàn bởi

Activity mới sẽ tiến đến trạng thái stop Nó vẫn còn trạng thái và thông tin thành viên trong nó Người dùng không thấy nó và thường bị loại bỏ khi hệ thống cần vùng nhớ cho các tác vụ khác

1.3.6 Lưu trữ dữ liệu trong Android

SQLite là một dạng CSDL tương tự như Mysql, PostgreSQL Đặc điểm của SQLite là gọn, nhẹ, đơn giản Chương trình gồm 1 file duy nhất vỏn vẹn chưa đến 500kB, không cần cài đặt, không cần cấu hình hay khởi động mà có thể sử dụng ngay Dữ liệu database cũng được lưu ở một file duy nhất Không có khái niệm user, password hay quyền hạn trong SQLite database SQLite không thích

Trang 22

hợp với những hệ thống lớn nhưng ở quy mô vừa tầm thì SQLite phát huy uy lực

và không hề yếu kém về mặt chức năng hay tốc độ

Để tạo ra một cơ sở dữ liệu SQLite mới là tạo ra một lớp con của SQLiteOpenHelper và ghi đè lên phương thứ onCreate(), trong đó có thể thực thi một lệnh SQLite để tạo bảng trong cơ sở dữ liệu

1.4 Kết chương

Chương này đã giới thiệu về những vấn đề liên quan đến bảo mật dữ liệu như khái niệm, tầm quan trọng của việc bảo mật dữ liệu, và những thuật toán được áp dụng để mã hóa dữ liệu Với những ưu điểm của thuật toán mã hóa AES, tôi đã

áp dụng thuật toán này vào ứng dụng mã hóa hình ảnh của mình

Và tôi cũng đã giới thiệu sơ lược về hệ điều hành Android, từ các chức năng chính, kiến trúc, các thành phần, vòng đời của một ứng dụng Android đến cách lưu trữ dữ liệu trên hệ điều hành này Chương tiếp theo tôi sẽ trình bày cụ thể việc phân tích, thiết kế xây dựng ứng dụng mã hóa hình ảnh

Ngày đăng: 21/05/2021, 22:23

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w