Mundarija:

Bu PNG maxfiy bo'lim: 4 qadam
Bu PNG maxfiy bo'lim: 4 qadam

Video: Bu PNG maxfiy bo'lim: 4 qadam

Video: Bu PNG maxfiy bo'lim: 4 qadam
Video: Самаркандлик ам товба 2024, Noyabr
Anonim
Bu maxfiy bo'lim
Bu maxfiy bo'lim
Bu maxfiy bo'lim
Bu maxfiy bo'lim

Sizning vazifangiz, aziz o'quvchi, men siz uchun github -ga qo'ygan output-p.webp

Bu erda ikkita rasm bir xil ko'rinadi, lekin ular emas - bu men bog'lagan greenman-p.webp

Bu ko'rsatma youtube -dagi ajoyib videodan ilhomlangan. Bir kuni kechqurun bu videoni ko'rgandan so'ng, Java dasturlash bo'yicha ilg'or sinf uchun ajoyib ma'ruza va oraliq nazorat haqida o'ylay olmay, bu loyiha tug'ildi. Yuqoridagi rasmlar, ushbu qo'llanmada tasvirlangan kod bilan birga, Github -da bepul.

Ta'minotlar

Sizga kompyuter kerak bo'ladi va siz Java dasturini kompilyatsiya qilishni va ishga tushirishni bilishingiz kerak bo'ladi. Bu dastur faqat ikkita qisqa fayl va siz uni buyruq satrida ishga tushirishingiz kerak bo'ladi.

1 -qadam: Steganografiya nima?

Siz avvalgi bosqichda bog'langan youtube videosini ko'rishingiz kerak, lekin bu erda qisqacha ma'lumot:

Agar siz do'stingizga maxfiy xabarni yashirishingiz kerak bo'lsa, Steganografiya yordamida buni qilishning ajoyib usuli. Tasvir Steganografiyasi g'oyasi oddiy; kompyuter tasvirlari piksellardan yasalgan va har bir piksel qizil, yashil va ko'k ranglarning kombinatsiyasi. Ko'pgina kompyuter tasvir formatlarida har bir pikseldagi qizil, yashil va ko'k ranglar 0-127 gacha bo'lgan qiymatlar bilan ifodalanadi. Masalan, juda qizil piksel 127 qizil rangga va yashil va ko'k nol qiymatiga ega bo'ladi. Hiyla -nayrang shunday: qizil intensivlik 126 ni qizil intensivlikdan 127 (odam ko'ziga) ajratib bo'lmaydi. Shunday qilib, har bir qizil pikselda plyus yoki minus bittasini topish orqali biz bitlarni piksellarda yashirishimiz mumkin. Agar biz bitlarni zaxiralashning hiyla -nayrang usulini topsak, biz rasmga tushgan ma'lumotlarni olishimiz mumkin!

Ijodiy bo'ling! Steganografiya har qanday raqamli axborot vositasi yordamida amalga oshirilishi mumkin! Siz, masalan, musiqa yoki videofayllarda bitlar bilan o'ynashingiz mumkin, lekin bu sizga ko'rsatma doirasidan tashqarida ko'proq tadqiqot olib borishni talab qiladi.

2 -qadam: Matn kompyuterda qanday kodlangan

Kompyuterda matn qanday kodlangan
Kompyuterda matn qanday kodlangan

Bu erda tushuniladigan narsalar CS darajasida yoki ko'plab sevimli mashg'ulotlarga bo'lgan ishtiyoqni talab qilishi mumkin. Kompyuterlar ma'lumotlarni bit va 1 soniyalarda saqlaydi. Bu 1 va 0 -lar odatda 8 kishidan iborat bo'lib, "bayt" deb nomlanadi. Bu erda va bu erda tushuntirilganidek, kompyuterga baytlarni matn sifatida talqin qilishning bir necha yo'li bor. Ushbu steganografiya ma'ruzasidan maksimal foyda olish uchun siz ASCII va UTF8 ni ko'p yoki kamroq tushunishingiz kerak. Bu baytlar qatorida til ma'lumotlarini kodlashning ikkita umumiy usuli.

Agar siz bu mavzu haqida tasavvurga ega bo'lsangiz, buni tushunasiz: ASCII va UTF8 da "the" so'zi quyidagi baytlar bilan ifodalanadi (oltilikda) 0x74 0x68 0x65. Ikkilikda bu baytlar: 01110100b 01101000b 01101101b

Bundan tashqari, siz tushunasizki, UTF8 -da Grinning Face Emoji quyidagi baytlar bilan ifodalanadi (oltilikda) 0xF0 0x9F 0x98 0x80. Ikkilikda bu baytlar 11110000b 10011111b 10011000b 10000000b.

Qanday bo'lmasin, ilova qilingan skrinshotda mening kompyuterim bu baytlar bilan nimadir qilayotganini ko'rasiz. Men ularni dastur chiqishida o'qlar va katta "LOOK!" Bilan ajratib ko'rsatdim.

3 -qadam: Dastur qanday ishlaydi

Github -dan dasturni tuzish oson. Bu erda va keyin birinchi sahifada ko'rsatilgan repo -ni oling

Dastur buyruq satridan shunday ishlaydi: java Main input-p.webp

biriktirilgan misollarda men java Main greenman-p.webp

Siz ham xuddi shunday qilasiz.

Agar Main.java -ga qarasangiz, shunday bo'lganini ko'rasiz:

  1. Dastur tasvirni 2D qatorda o'qiydi
  2. Dastur siz bergan xabarni bayt qatoriga aylantiradi (bayt )
  3. Keyin dastur MessageHider sinfidan foydalanib, tasvirlar massividagi xabar baytlarini yashiradi.
  4. Shundan so'ng, dastur 2d -rasmni yashirin ma'lumotlar saqlangan faylga (output.png) yozadi. Agar siz ushbu rasmga qarasangiz, uni asl nusxadan ajratib bo'lmaydi
  5. Keyin dastur output-p.webp" />

Kod deyarli biz kutganimizdek ishlaydi.

4 -qadam: Xulosa

Men sizga ish kodini, tasvir shaklida ishlashini isbotlashni va universitet talabalarimga beradigan ba'zi ma'ruza yozuvlarini berdim. Men ham sizga topshiriq berdim! Men bir necha soat kodni yozdim va ma'ruza yozuvlarini tayyorladim, shuning uchun afsuski, bu ko'rsatmali rasmlar ko'p emas. Agar siz steganografiya qiziqarli deb hisoblasangiz, iltimos, mening tanlovimni qabul qiling!

Tavsiya: