Բովանդակություն:
- Պարագաներ
- Քայլ 1: Ի՞նչ է ստեգանոգրաֆիան
- Քայլ 2. Ինչպես է տեքստը կոդավորված համակարգիչներում
- Քայլ 3: Ինչպես է աշխատում ծրագիրը
- Քայլ 4: Եզրակացություն
Video: Այս PNG- ը գաղտնի կուպե է. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Ձեր մարտահրավերը, սիրելի ընթերցող, այն է, որ հասկանաք, թե ինչ հաղորդագրություն է թաքնված output-p.webp
Երկու նկարներն այստեղ նույնական տեսք ունեն, բայց դրանք այդպիսին չեն: Սրանք են greenman-p.webp
Այս հրահանգը ոգեշնչված է youtube- ի հիանալի տեսանյութից: Մի օր ուշ երեկոյան այս տեսանյութը դիտելուց և ջանալով մտածել դասախոսության և միջնաժամկետ քննության մասին Java ծրագրավորման առաջադեմ դասի համար, այս նախագիծը ծնվեց: Վերոնշյալ պատկերները, այս հրահանգում նկարագրված ծածկագրի հետ միասին, անվճար են Github- ում:
Պարագաներ
Ձեզ հարկավոր կլինի համակարգիչ և պետք է իմանաք, թե ինչպես կազմել և գործարկել Java ծրագիր: Այս ծրագիրը ընդամենը երկու կարճ ֆայլ է, և ձեզ հարկավոր է այն գործարկել հրամանի տողում:
Քայլ 1: Ի՞նչ է ստեգանոգրաֆիան
Դուք պետք է դիտեք YouTube- ի տեսանյութը, որը ես կապեցի նախորդ քայլին, բայց ահա ամփոփագիրը.
Եթե Ձեզ անհրաժեշտ է թաքցնել ընկերոջը գաղտնի հաղորդագրություն, ապա դա անելու հիանալի միջոց է Ստեգանոգրաֆիան: Պատկերային Ստեգանոգրաֆիայի գաղափարը պարզ է. համակարգչային պատկերները պատրաստված են պիքսելներից, և յուրաքանչյուր պիքսելը կարմիրի, կանաչի և կապույտի համադրություն է: Համակարգչային պատկերի բազմաթիվ ձևաչափերում յուրաքանչյուր պիքսելում կարմիր, կանաչ և կապույտ քանակներն արտահայտվում են որպես 0-127 արժեքներ: Այսպես, օրինակ, շատ կարմիր պիքսելն ունենալու է 127 կարմիր արժեք և զրոյական կանաչ և կապույտ արժեքներ: Հնարքը սա է. 126 -ի կարմիր ինտենսիվությունը չի տարբերվում կարմիրից 127 -ից (մարդու աչքին): Եվ այսպես, յուրաքանչյուր կարմիր պիքսելում գումարած կամ մինուս մեկով սղոցելով, մենք կարող ենք պիքսելներում բիթեր թաքցնել: Եթե մենք գտնում ենք բեկորները հետ հավաքելու խորամանկ եղանակը, կարող ենք առբերել այն տվյալները, որոնք մենք մտցրել ենք պատկերի մեջ:
Եղի՛ր ստեղծագործ: Ստեգանոգրաֆիան կարող է կատարվել ցանկացած թվային մեդիայի միջոցով: Դուք կարող եք, օրինակ, նվագել երաժշտական կամ վիդեո ֆայլերի բիթերի հետ, բայց դա պահանջում է, որ դուք ավելի շատ հետազոտություններ կատարեք այս հրահանգի շրջանակներից դուրս:
Քայլ 2. Ինչպես է տեքստը կոդավորված համակարգիչներում
Այն, ինչ հետևում է այստեղ, կարող է պահանջել CS- ի կամ հոբբիստական կրքի մեծ աստիճան հասկանալու համար: Համակարգիչները տվյալները պահում են բիթերում ՝ որպես 1s և 0s: Այս 1 -երն ու 0 -երը, որպես կանոն, խմբավորված են 8 -ական փնջերում և կոչվում են «բայթ»: Ինչպես բացատրվում է այստեղ և այստեղ, կան մի քանի եղանակներ, որոնցով մենք կարող ենք ասել համակարգչին `բայթերը մեկնաբանել որպես տեքստ: Ստեգանոգրաֆիայի այս դասախոսությունից/ուսանելիից առավելագույնը ստանալու համար պետք է քիչ թե շատ հասկանալ ASCII- ը և UTF8- ը: Սրանք լեզվական տվյալների մի շարք բայթերի կոդավորման երկու սովորական եղանակ են:
Այս թեմայի վերաբերյալ պատկերացում կազմելուց հետո կհասկանաք սա. ASCII- ում և UTF8- ում «the» բառը ներկայացված է հետևյալ բայթերով (վեցանկյուն) 0x74 0x68 0x65: Երկուականում այս բայթերն են ՝ 01110100b 01101000b 01101101b
Ավելին, դուք կհասկանաք, որ UTF8- ում Grinning Face Emoji- ն ներկայացված է հետևյալ բայթերով (վեցանկյուն) 0xF0 0x9F 0x98 0x80: Երկուականում այս բայթերն են 11110000 բ 10011111 բ 10011000 բ 10000000 բ:
Ամեն դեպքում, կից սքրինշոթում կտեսնեք, որ իմ համակարգիչն ինչ -որ բան է անում այս բայթերով: Themրագրի ելքում ես դրանք ընդգծել եմ սլաքներով և մեծ «ՆԱՅԵԼ»:
Քայլ 3: Ինչպես է աշխատում ծրագիրը
Github- ից ծրագիրը կազմելը հեշտ է: Ստացեք առաջին էջում ցուցադրվող ռեպոը մեկ -մեկ
Theրագիրն այսպես է գործարկվում հրամանի տողից ՝ java Main input-p.webp
կից օրինակներում կտեսնեք, որ ես վարել եմ java Main greenman-p.webp
Դուք նույնը կանեք:
Եթե նայեք Main.java- ին, կտեսնեք, որ սա այն է, ինչ տեղի է ունենում.
- Programրագիրը պատկերն ընթերցում է 2D զանգվածի մեջ
- Programրագիրը ձեր մատակարարած հաղորդագրությունը վերածում է բայթ զանգվածի (բայթ )
- Այնուհետեւ ծրագիրը օգտագործում է MessageHider դասը `պատկերների զանգվածում հաղորդագրության բայթերը թաքցնելու համար:
- Programրագիրը այնուհետև պատկերի 2d զանգվածը գրում է ֆայլին (output.png) ՝ ներսում թաքնված տվյալներով: Եթե նայեք այս պատկերին, ապա այն չի տարբերվի բնօրինակից
- Այնուհետև ծրագիրը կարդում է output.png- ը նոր 2D զանգվածի մեջ և օգտագործում է extractMessage () գործառույթը `վերջին բիթը հանելու ձեր պահանջած բազմաթիվ բայթերից: Այս բիթերը էկրանին կտպագրվեն 8 -ոց փաթեթներով, այնպես որ կարող եք տեսնել, թե ինչ տվյալների թաքնված է երկուական ներկայացումը:
Այսպիսով, ծածկագիրն աշխատում է այնպես, ինչպես սպասում էինք:
Քայլ 4: Եզրակացություն
Այսպիսով, ես ձեզ տվեցի աշխատանքային ծածկագիր, ապացույց, որ այն աշխատում է պատկերի տեսքով, և որոշ դասախոսություններ, որոնք ես տալիս եմ իմ համալսարանի ուսանողներին: Ես ձեզ նույնպես մարտահրավեր եմ նետել: Ես մի քանի ժամ ծախսեցի ծածկագիրը գրելու և դասախոսություններ պատրաստելու համար, այնպես որ, ցավում եմ, որ այս հրահանգը շատ նկարներ չունի: Եթե կարծում եք, որ ստեգանոգրաֆիան հետաքրքիր է, ընդունեք իմ մարտահրավերը:
Խորհուրդ ենք տալիս:
Այս բարձրավոլտ սեղմիչ-սև խաղալիք ժայռերը: 11 քայլ (նկարներով)
Այս բարձր լարման Click-Clack Toy Rocks! Ահա ահա Retro Click-Clack խաղալիքի երկու էլեկտրաստատիկ տարբերակ, որոնք հայտնի էին ավագ դպրոցներում դեռ 70-ականներին: 1.0 տարբերակը գերբյուջեի մոդելն է: Մասերը (առանց էներգիայի մատակարարման) գրեթե ոչինչ չեն կազմում: Ավելի թանկ և
Հելոուինի դդում ՝ շարժվող անիմատրոնիկ աչքով - Այս դդումը կարող է պտտել աչքը. 10 քայլ (նկարներով)
Հելոուինի դդում ՝ շարժվող անիմատրոնիկ աչքով | Այս դդումը կարող է պտտել իր աչքը. Կարգավորեք ուլտրաձայնային տվիչի ձգանման հեռավորությունը ճիշտ արժեքին (քայլ 9), և ձեր դդումը կքարի բոլոր նրանց, ովքեր կհամարձակվեն մոմ վերցնել
Այս փայտե գործիքը պատրաստելու համար օգտագործեք Fusion: 4 քայլ
Օգտագործեք Fusion ՝ այս փայտե գործիքը պատրաստելու համար. Այն ցույց է տալիս ծրագրաշարի որոշ հիմնական գործառույթներ և շատ հեշտ է շատ ժամանակ պահանջել: Պահանջվում է ծրագրակազմ. Fusion 360 by Autodesk Pre-Requisites
Մնացեք տաք այս ձմռանը. Պրոցեսորի ձեռքի տաքացուցիչ. 4 քայլ (նկարներով)
Մնացեք տաք այս ձմռանը. CPU Hand Warmer. Այս փոքր նախագծում ես ձեզ ցույց կտամ, թե ինչպես եմ փոխարինել հին AMD պրոցեսորը `ստեղծելով փոքր, թեթև և հեշտ օգտագործվող էլեկտրական տաքացուցիչ: Փոքր դյուրակիր սնուցման բանկի օգնությամբ այս գործիքը կարող է ձեզ տաքացնել մոտ 2ուկես ժամ և կարող է հեշտացնել
Կառուցեք ձեր սեփական ինքնակառավարվող մեքենան - (Այս հրահանգը ընթացքի մեջ է) `7 քայլ
Կառուցեք ձեր սեփական ինքնակառավարվող մեքենան. Կարող եք նաև հետևել կամ ինչ-որ օգնություն կամ ոգեշնչում ստանալ Robotics- ից, Home-Grown Voice-Recognition- ից կամ Self