Trang 1 của 7 123 ... CuốiCuối
Kết quả 1 đến 10 của 61
  1. #1
    Ngày tham gia
    Jul 2015
    Bài viết
    2

    Mã hóa dữ liệu và giải mã trong lập trình ứng dụng android

    chào các bạn bây h long sẽ hướng dẫn các bạn một chủ đề mới toanh trong lập trình ứng dụng android và long đảm bảo các bạn sẽ không tìm thấy bài nào tương tự như bài này ở các diễn đàn khác đâu nhé. đó mà mã hóa và giải mã dữ liệu.


    [img]data/attachments/13/13867-4fb9a3277f378924f1ac76d8f8376952.jpg[/img]

    1) source code demo:
    click vào đây để download source code demo.

    2) mã hóa dữ liệu (encode) là gì?
    là chuyển hóa dữ liệu này thành 1 dạng dữ liệu mới mà người dùng không thể đọc được hoặc hiểu được nó. bằng cách sử dụng các thuật toán lồng vào nhau, thương dựa trên 1 khóa (key) để mã hóa dữ liệu.

    3) giải mã dữ liệu (decode) mã hóa là gì?
    là khôi phục một dữ liệu đã bị mã hóa trở về dữ liệu kiểu ban đầu của nó dựa vào khóa (key) đã thiết lập. nếu không có key này, người khác không thể giải mã được nó!

    4) hình ảnh làm ứng dụng demo:


    [img]data/attachments/13/13866-a0ac104f63fe2cb6a6f4710446f7c9f2.jpg[/img]

    5) hướng dẫn code:
    - activity_main.xml


    Mã nguồn PHP:
    [color=#000000]
    [/color][color=#007700]<[/color][color=#0000bb]linearlayout xmlns[/color][color=#007700]:[/color][color=#0000bb]android[/color][color=#007700]=[/color][color=#dd0000]"http://schemas.android.com/apk/res/android" [/color][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]tools[/color][color=#007700]=[/color][color=#dd0000]"http://schemas.android.com/tools" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]orientation[/color][color=#007700]=[/color][color=#dd0000]"vertical" [/color][color=#007700]> <[/color][color=#0000bb]textview android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_margintop[/color][color=#007700]=[/color][color=#dd0000]"14dp" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]gravity[/color][color=#007700]=[/color][color=#dd0000]"center" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]text[/color][color=#007700]=[/color][color=#dd0000]"@string/parsed_data" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]textappearance[/color][color=#007700]=[/color][color=#dd0000]"?android:attr/textappearancemedium" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]textstyle[/color][color=#007700]=[/color][color=#dd0000]"bold" [/color][color=#007700]/> <[/color][color=#0000bb]textview android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/textview1" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_margintop[/color][color=#007700]=[/color][color=#dd0000]"20dp" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]text[/color][color=#007700]=[/color][color=#dd0000]"@string/dulieu" [/color][color=#007700]/> <[/color][color=#0000bb]edittext android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/edittext1" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]hint[/color][color=#007700]=[/color][color=#dd0000]"@string/hint" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]ems[/color][color=#007700]=[/color][color=#dd0000]"10" [/color][color=#007700]> </[/color][color=#0000bb]edittext[/color][color=#007700]> <[/color][color=#0000bb]textview android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/textview2" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_margintop[/color][color=#007700]=[/color][color=#dd0000]"20dp" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]text[/color][color=#007700]=[/color][color=#dd0000]"@string/khoa" [/color][color=#007700]/> <[/color][color=#0000bb]edittext android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/edittext2" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"match_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]hint[/color][color=#007700]=[/color][color=#dd0000]"@string/hint2" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]ems[/color][color=#007700]=[/color][color=#dd0000]"10" [/color][color=#007700]> </[/color][color=#0000bb]edittext[/color][color=#007700]> <[/color][color=#0000bb]button android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/button1" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"fill_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]text[/color][color=#007700]=[/color][color=#dd0000]"@string/xemketqua" [/color][color=#007700]/> <[/color][color=#0000bb]textview android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/textview3" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_margintop[/color][color=#007700]=[/color][color=#dd0000]"20dp" [/color][color=#007700]/> <[/color][color=#0000bb]button android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/button2" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"fill_parent" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]visibility[/color][color=#007700]=[/color][color=#dd0000]"invisible" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]text[/color][color=#007700]=[/color][color=#dd0000]"@string/xemtranggiaima" [/color][color=#007700]/> <[/color][color=#0000bb]textview android[/color][color=#007700]:[/color][color=#0000bb]id[/color][color=#007700]=[/color][color=#dd0000]"@+id/textview4" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_width[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_height[/color][color=#007700]=[/color][color=#dd0000]"wrap_content" [/color][color=#0000bb]android[/color][color=#007700]:[/color][color=#0000bb]layout_margintop[/color][color=#007700]=[/color][color=#dd0000]"20dp" [/color][color=#007700]/> </[/color][color=#0000bb]linearlayout[/color][color=#007700]>[/color] 
    - mycipher.java (class thực hiện mã hóa và giải mã)


    Mã nguồn PHP:
    [color=#000000]
    package android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700]; [/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]security[/color][color=#007700].[/color][color=#0000bb]securerandom[/color][color=#007700]; [/color][color=#0000bb]import javax[/color][color=#007700].[/color][color=#0000bb]crypto[/color][color=#007700].[/color][color=#0000bb]cipher[/color][color=#007700];[/color][color=#0000bb]import javax[/color][color=#007700].[/color][color=#0000bb]crypto[/color][color=#007700].[/color][color=#0000bb]keygenerator[/color][color=#007700];[/color][color=#0000bb]import javax[/color][color=#007700].[/color][color=#0000bb]crypto[/color][color=#007700].[/color][color=#0000bb]secretkey[/color][color=#007700];[/color][color=#0000bb]import javax[/color][color=#007700].[/color][color=#0000bb]crypto[/color][color=#007700].[/color][color=#0000bb]spec[/color][color=#007700].[/color][color=#0000bb]secretkeyspec[/color][color=#007700];public class [/color][color=#0000bb]mycipher [/color][color=#007700]{ [/color][color=#ff8000]//hàm chuyển đổi key là 1 chuỗi ký tự về 1 mảng byte làm làm chìa khóa mã hóa [/color][color=#007700]public static [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]generatekey[/color][color=#007700]([/color][color=#0000bb]string password[/color][color=#007700]) [/color][color=#0000bb]throws exception [/color][color=#007700]{ [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]keystart [/color][color=#007700]= [/color][color=#0000bb]password[/color][color=#007700].[/color][color=#0000bb]getbytes[/color][color=#007700](); [/color][color=#0000bb]keygenerator kgen [/color][color=#007700]= [/color][color=#0000bb]keygenerator[/color][color=#007700].[/color][color=#0000bb]getinstance[/color][color=#007700]([/color][color=#dd0000]"aes"[/color][color=#007700]); [/color][color=#0000bb]securerandom sr [/color][color=#007700]= [/color][color=#0000bb]securerandom[/color][color=#007700].[/color][color=#0000bb]getinstance[/color][color=#007700]([/color][color=#dd0000]"sha1prng"[/color][color=#007700]); [/color][color=#0000bb]sr[/color][color=#007700].[/color][color=#0000bb]setseed[/color][color=#007700]([/color][color=#0000bb]keystart[/color][color=#007700]); [/color][color=#0000bb]kgen[/color][color=#007700].[/color][color=#0000bb]init[/color][color=#007700]([/color][color=#0000bb]128[/color][color=#007700], [/color][color=#0000bb]sr[/color][color=#007700]); [/color][color=#0000bb]secretkey skey [/color][color=#007700]= [/color][color=#0000bb]kgen[/color][color=#007700].[/color][color=#0000bb]generatekey[/color][color=#007700](); return [/color][color=#0000bb]skey[/color][color=#007700].[/color][color=#0000bb]getencoded[/color][color=#007700](); } [/color][color=#ff8000]//hàm thực hiện việc mã hóa dữ liệu từ 1 key [/color][color=#007700]public static [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]encodefile[/color][color=#007700]([/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]key[/color][color=#007700], [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]filedata[/color][color=#007700]) [/color][color=#0000bb]throws exception [/color][color=#007700]{ [/color][color=#0000bb]secretkeyspec skeyspec [/color][color=#007700]= new [/color][color=#0000bb]secretkeyspec[/color][color=#007700]([/color][color=#0000bb]key[/color][color=#007700], [/color][color=#dd0000]"aes"[/color][color=#007700]); [/color][color=#0000bb]cipher cipher [/color][color=#007700]= [/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]getinstance[/color][color=#007700]([/color][color=#dd0000]"aes"[/color][color=#007700]); [/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]init[/color][color=#007700]([/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]encrypt_mode[/color][color=#007700], [/color][color=#0000bb]skeyspec[/color][color=#007700]); [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]encrypted [/color][color=#007700]= [/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]dofinal[/color][color=#007700]([/color][color=#0000bb]filedata[/color][color=#007700]); return [/color][color=#0000bb]encrypted[/color][color=#007700]; } [/color][color=#ff8000]//hàm thực hiện việc giải mã dữ liệu từ 1 key [/color][color=#007700]public static [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]decodefile[/color][color=#007700]([/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]key[/color][color=#007700], [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]filedata[/color][color=#007700]) [/color][color=#0000bb]throws exception [/color][color=#007700]{ [/color][color=#0000bb]secretkeyspec skeyspec [/color][color=#007700]= new [/color][color=#0000bb]secretkeyspec[/color][color=#007700]([/color][color=#0000bb]key[/color][color=#007700], [/color][color=#dd0000]"aes"[/color][color=#007700]); [/color][color=#0000bb]cipher cipher [/color][color=#007700]= [/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]getinstance[/color][color=#007700]([/color][color=#dd0000]"aes"[/color][color=#007700]); [/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]init[/color][color=#007700]([/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]decrypt_mode[/color][color=#007700], [/color][color=#0000bb]skeyspec[/color][color=#007700]); [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]decrypted [/color][color=#007700]= [/color][color=#0000bb]cipher[/color][color=#007700].[/color][color=#0000bb]dofinal[/color][color=#007700]([/color][color=#0000bb]filedata[/color][color=#007700]); return [/color][color=#0000bb]decrypted[/color][color=#007700]; } }[/color] 
    - mainactivity.java


    Mã nguồn PHP:
    [color=#000000]
    package android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700]; [/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]activity[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]bundle[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]util[/color][color=#007700].[/color][color=#0000bb]log[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]onclicklistener[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]button[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]edittext[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]textview[/color][color=#007700]; public class [/color][color=#0000bb]mainactivity [/color][color=#007700]extends [/color][color=#0000bb]activity [/color][color=#007700]{ private [/color][color=#0000bb]edittext data[/color][color=#007700], [/color][color=#0000bb]key[/color][color=#007700]; private [/color][color=#0000bb]textview hienthiketquamahoa[/color][color=#007700], [/color][color=#0000bb]hienthiketquagiaima[/color][color=#007700]; private [/color][color=#0000bb]button xemketqua[/color][color=#007700], [/color][color=#0000bb]chuyentrang[/color][color=#007700]; private [/color][color=#0000bb]byte[/color][color=#007700][] [/color][color=#0000bb]filesbytes[/color][color=#007700], [/color][color=#0000bb]kq[/color][color=#007700]; private [/color][color=#0000bb]string ketquagiaima [/color][color=#007700]= [/color][color=#dd0000]""[/color][color=#007700]; @[/color][color=#0000bb]override [/color][color=#007700]protected [/color][color=#0000bb]void oncreate[/color][color=#007700]([/color][color=#0000bb]bundle savedinstancestate[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]oncreate[/color][color=#007700]([/color][color=#0000bb]savedinstancestate[/color][color=#007700]); [/color][color=#0000bb]setcontentview[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]activity_main[/color][color=#007700]); [/color][color=#ff8000]//lấy các đối tượng xml để sử dụng code [/color][color=#0000bb]data [/color][color=#007700]= ([/color][color=#0000bb]edittext[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]edittext1[/color][color=#007700]); [/color][color=#0000bb]key [/color][color=#007700]= ([/color][color=#0000bb]edittext[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]edittext2[/color][color=#007700]); [/color][color=#0000bb]xemketqua [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]button1[/color][color=#007700]); [/color][color=#0000bb]hienthiketquamahoa [/color][color=#007700]= ([/color][color=#0000bb]textview[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]textview3[/color][color=#007700]); [/color][color=#0000bb]hienthiketquagiaima [/color][color=#007700]= ([/color][color=#0000bb]textview[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]textview4[/color][color=#007700]); [/color][color=#0000bb]chuyentrang [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]button2[/color][color=#007700]); [/color][color=#ff8000]//thực hiện việc mã hóa và hiển thị code đã mã hóa [/color][color=#0000bb]xemketqua[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]chuyentrang[/color][color=#007700].[/color][color=#0000bb]setvisibility[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]visible[/color][color=#007700]); [/color][color=#0000bb]string ketquamahoa [/color][color=#007700]= [/color][color=#0000bb]data[/color][color=#007700].[/color][color=#0000bb]gettext[/color][color=#007700]().[/color][color=#0000bb]tostring[/color][color=#007700](); [/color][color=#0000bb]string khoamahoa [/color][color=#007700]= [/color][color=#0000bb]key[/color][color=#007700].[/color][color=#0000bb]gettext[/color][color=#007700]().[/color][color=#0000bb]tostring[/color][color=#007700](); [/color][color=#0000bb]string ketquastring [/color][color=#007700]= [/color][color=#dd0000]""[/color][color=#007700]; try { [/color][color=#0000bb]filesbytes [/color][color=#007700]= [/color][color=#0000bb]mycipher[/color][color=#007700].[/color][color=#0000bb]encodefile[/color][color=#007700]([/color][color=#0000bb]mycipher[/color][color=#007700].[/color][color=#0000bb]generatekey[/color][color=#007700]([/color][color=#0000bb]khoamahoa[/color][color=#007700]), [/color][color=#0000bb]ketquamahoa[/color][color=#007700].[/color][color=#0000bb]getbytes[/color][color=#007700]([/color][color=#dd0000]"utf-8"[/color][color=#007700])); [/color][color=#0000bb]ketquastring [/color][color=#007700]= new [/color][color=#0000bb]string[/color][color=#007700]([/color][color=#0000bb]filesbytes[/color][color=#007700], [/color][color=#dd0000]"utf-8"[/color][color=#007700]); [/color][color=#ff8000]//đồng thời thực hiện việc giải mã [/color][color=#0000bb]kq [/color][color=#007700]= [/color][color=#0000bb]mycipher[/color][color=#007700].[/color][color=#0000bb]decodefile[/color][color=#007700]([/color][color=#0000bb]mycipher[/color][color=#007700].[/color][color=#0000bb]generatekey[/color][color=#007700]([/color][color=#0000bb]khoamahoa[/color][color=#007700]), [/color][color=#0000bb]filesbytes[/color][color=#007700]); [/color][color=#0000bb]ketquagiaima [/color][color=#007700]= new [/color][color=#0000bb]string[/color][color=#007700]([/color][color=#0000bb]kq[/color][color=#007700], [/color][color=#dd0000]"utf-8"[/color][color=#007700]); } catch ([/color][color=#0000bb]exception e[/color][color=#007700]) { [/color][color=#0000bb]log[/color][color=#007700].[/color][color=#0000bb]v[/color][color=#007700]([/color][color=#dd0000]""[/color][color=#007700], [/color][color=#dd0000]"lỗi rồi !" [/color][color=#007700]+ [/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]tostring[/color][color=#007700]()); } [/color][color=#0000bb]hienthiketquamahoa[/color][color=#007700].[/color][color=#0000bb]settext[/color][color=#007700]([/color][color=#0000bb]ketquastring[/color][color=#007700]); } }); [/color][color=#ff8000]//hiển thị kết quả giải mã khi click vào button [/color][color=#0000bb]chuyentrang[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]hienthiketquagiaima[/color][color=#007700].[/color][color=#0000bb]settext[/color][color=#007700]([/color][color=#0000bb]ketquagiaima[/color][color=#007700]); } }); }}[/color] 
    6) video clip kết quả chạy demo:


    nâng cao với thủ thuật lưu trữ dữ liệu mã hóa trên database tại đây!

    bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: android.vn
    pass giải nén: http://android.vn
    support: thanhlong90.it@gmail.com
    chúc các bạn thành công!

  2. #2
    Ngày tham gia
    Nov 2014
    Bài viết
    0
    đã test, chạy rất ngon lành, nhưng anh nên cho ẩn cái keyboard ảo khi nhấn button giải mã, chứ không là không thấy.
    nhưng em vẫn chưa hiểu được ý nghĩa các câu lệnh sử dụng trong đó

    tks anh, hy vọng được thêm nhiều thủ thuật hay về android

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    21
    chuyentrang.setvisibility(view.visible);
    cho e hỏi, nó có ý nghĩa gì
    hay là nó làm nứt 2 ẩn không bấm đc

  4. #4
    Ngày tham gia
    Sep 2014
    Bài viết
    0
    Trích dẫn Gửi bởi habaoanh
    chuyentrang.setvisibility(view.visible);
    cho e hỏi, nó có ý nghĩa gì
    hay là nó làm nứt 2 ẩn không bấm đc
    lúc đầu nút giải mã sẽ ẩn, sau khi bấm mã hóa, xong thì nút giải mã mới được hiện, câu này là để nút chuyentrang được hiện.
    theo mình nhớ là vậy :d

  5. #5
    Ngày tham gia
    May 2015
    Bài viết
    0
    giả sử em nghĩ ra 1 thuật toán đơn giản nào đó để mã hóa và giải mã, liệu có dùng được không anh nhỉ? , vì thuật toán bài trên khá phức tạp
    vd: em cho chuỗi nhập vào + mã key = chuỗi
    đảo toàn bộ chuỗi trên = 1 đoạn mã
    giải mã: đảo toàn bộ mã, tách key ra, lấy chuỗi gốc :d

  6. #6
    Ngày tham gia
    Apr 2015
    Bài viết
    0
    điều này hoàn toàn được, tuy nhiên để hacker không đọc được mã nguồn. em nên đưa hàm giải mã này 1 thư viện và gọi tới chúng thì rất ok!

  7. #7
    Trích dẫn Gửi bởi thanhlongi90.it
    điều này hoàn toàn được, tuy nhiên để hacker không đọc được mã nguồn. em nên đưa hàm giải mã này 1 thư viện và gọi tới chúng thì rất ok!
    tức là mình viết toàn bộ hàm giải mã riêng trong 1 package à anh?

  8. #8
    Ngày tham gia
    Apr 2015
    Bài viết
    0
    viết trong 1 project mà project đó làm thư viện "có đuôi .jar ấy". em thử tìm cách xây dựng 1 thư viện và build nó ra file .jar xem nhé!

  9. #9
    Ngày tham gia
    Mar 2014
    Bài viết
    0
    hi cảm ơn về bài học của bạn.
    mình bấm nút giải mã nhưng bị văng lỗi exception ?

  10. #10
    Ngày tham gia
    Feb 2015
    Bài viết
    0
    trường hợp bạn nhập vào dữ liệu gì thì bắn ra exception vậy?

Trang 1 của 7 123 ... CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •