Ինչպես կոդավորել և վերծանել տեքստը AES-256-GCM-ով
Մուտքագրեք տեքստն ու գաղտնաբառը, ընտրեք կոդավորում կամ վերծանում և գործարկեք համապատասխան գործողությունը։ Վերծանումը պահանջում է ամբողջական տոկենն ու կոդավորման ժամանակ օգտագործված նույն գաղտնաբառը։
Գործիքի նպատակը և կիրառման համատեքստը
AES Cipher-ը նախատեսված է տեքստը AES-256-GCM-ով կոդավորելու և այնուհետև նույն գաղտնաբառով վերծանելու համար։ Գործիքը գաղտնաբառից ստանում է գաղտնագրման բանալի, ուստի կոդավորման արդյունքը սովորական ընթեռնելի տեքստ չէ։ Այն կարող է հարմար լինել կարճ հաղորդագրության կամ այլ տեքստային բովանդակության համար, երբ ցանկանում եք ստանալ մեկ տեքստային տոկեն և հետագայում փորձել վերականգնել սկզբնական UTF-8 բովանդակությունը։
Գործիքը ընդունում է տեքստ, գաղտնաբառ և գործողության ընտրություն՝ կոդավորում կամ վերծանում։ Վերծանման համար կարևոր է ունենալ գործիքի ստեղծած ամբողջական տոկենը և հիշել հենց այն գաղտնաբառը, որը կիրառվել է կոդավորման ժամանակ։ Նույն մուտքը կրկին մշակելիս արդյունքի տեսքը կարող է փոխվել, քանի որ յուրաքանչյուր կոդավորման ընթացքում ստեղծվում են նոր պատահական արժեքներ։ Այդ տարբերությունը ինքնին չի նշանակում, որ սկզբնական տեքստը սխալ է մշակվել։
Դատարկ տեքստի համար կա առանձին վարքագիծ. գործիքը հաջող դատարկ արդյունք է վերադարձնում նախքան գաղտնաբառի առկայությունը ստուգելը։ Այդ պատճառով դատարկ արդյունքը պետք չէ նույնացնել կոդավորված բովանդակության հետ։
Օգտագործման հերթականությունը
-
Մուտքագրեք մշակվող տեքստը համապատասխան դաշտում։ Եթե այն դատարկ է, հաշվի առեք, որ գործիքը կարող է անմիջապես վերադարձնել հաջող դատարկ արդյունք՝ առանց գաղտնաբառը ստուգելու։ Ոչ դատարկ տեքստի դեպքում պատրաստեք այն գաղտնաբառը, որը մտադիր եք օգտագործել հետագա վերծանման ժամանակ։
-
Մուտքագրեք գաղտնաբառը և ընտրեք կոդավորման գործողությունը։ Ոչ դատարկ տեքստի դեպքում գաղտնաբառը պահանջվում է թե՛ կոդավորման, թե՛ վերծանման համար։ Կոդավորման ժամանակ գաղտնաբառից PBKDF2-HMAC-SHA256 մեթոդով ստացվում է 32 բայթանոց բանալի՝ 600000 կրկնությամբ։ AES-256-GCM-ն այդ բանալիով մշակում է տեքստը։
-
Գործարկեք կոդավորումը և պատճենեք ամբողջական արդյունքը։ Գործիքը վերադարձնում է մեկ URL-safe Base64 տեքստային տոկեն, որի մեջ ներառված են տարբերակի նախածանցը, 16 բայթանոց salt-ը, 12 բայթանոց nonce-ը և վավերացված գաղտնագրված տեքստը։ Տոկենը պահելիս մի կրճատեք այն և մի փոխեք դրա նիշերը։ Գաղտնաբառը տոկենի կողքին մի պահեք, քանի որ վերականգնման համար պետք է պահպանել այդ երկու տվյալների տարանջատումը։
-
Վերծանման ժամանակ տեղադրեք ամբողջական տոկենը, մուտքագրեք նույն գաղտնաբառը, ընտրեք վերծանումը և գործարկեք գործողությունը։ Վավեր զույգի դեպքում արդյունքը պետք է վերականգնի սկզբնական UTF-8 տեքստը։ Եթե նույն տեքստը նույն գաղտնաբառով նորից կոդավորեք, նոր տոկենը կարող է տարբերվել նախորդից, քանի որ salt-ն ու nonce-ը յուրաքանչյուր գործարկման ժամանակ պատահականորեն նոր են ստեղծվում։
Արդյունքի ճիշտ մեկնաբանումը
Հաջող կոդավորման արդյունքը մեկ URL-safe Base64 տեքստային տոկեն է, ոչ թե սկզբնական հաղորդագրության ընթեռնելի պատճենը։ Այդ տոկենի կառուցվածքում գործիքը ներառում է վերծանման համար անհրաժեշտ աղի և nonce-ի արժեքները, սակայն գաղտնաբառը պետք է մուտքագրվի առանձին՝ նույնը, ինչ օգտագործվել էր կոդավորման ժամանակ։
Հաջող վերծանումը նշանակում է, որ ամբողջական տոկենը և տրամադրված գաղտնաբառը կազմել են վավեր զույգ, որի արդյունքում վերադարձվել է սկզբնական UTF-8 տեքստը։ Եթե տոկենը թերի է, փոփոխված կամ սխալ ձևաչափով, կամ եթե գաղտնաբառը սխալ է, գործիքը վերադարձնում է նույն համակցված անվավեր գաղտնագրատեքստի կամ գաղտնաբառի սխալի կատեգորիան։ Արդյունքը չի ասում, թե նշված պատճառներից որն է առկա։
Դրա համար անհաջող փորձից հետո նախ ստուգեք, որ տոկենը պատճենվել է ամբողջությամբ և առանց փոփոխության, ապա նորից մուտքագրեք կոդավորման ժամանակ օգտագործված գաղտնաբառը։ Եթե գաղտնաբառը կորել է, նույն տոկենը միայնակ բավարար չէ սկզբնական տեքստը վերականգնելու համար։ Դատարկ մուտքի հաջող դատարկ արդյունքը նույնպես չի ապացուցում, որ որևէ կոդավորված բովանդակություն է վերծանվել։
Գործնական օրինակ
Դուք ցանկանում եք «Բարև, Հայաստան» կարճ հաղորդագրությունը կոդավորել նախքան այն փոխանցելը և հետո ստուգել, որ վերծանումը վերադարձնում է նույն UTF-8 բովանդակությունը։
Մուտքագրեք «Բարև, Հայաստան», սահմանեք գաղտնաբառ և ընտրեք կոդավորումը։ Ստացված ամբողջական տոկենը պահեք առանձին, ապա վերծանման ժամանակ օգտագործեք այդ տոկենն ու նույն գաղտնաբառը։ Տարբեր տոկեն ստանալը հնարավոր է, եթե կոդավորումը կրկնեք։
Այս փորձի ստուգելի արդյունքի ձևը պարզ է. առաջին գործողությունը վերադարձնում է մեկ տեքստային տոկեն, իսկ երկրորդը վերադարձնում է մուտքագրված կարճ հաղորդագրությունը։
Կոդավորումից հետո արդյունքը պետք է լինի մեկ URL-safe Base64 տեքստային տոկեն։ Նույն տոկենը նույն գաղտնաբառով վերծանելիս ակնկալվող արդյունքը «Բարև, Հայաստան» սկզբնական UTF-8 տեքստն է։
Սահմանափակումներ
- Անհաջող վերծանման արդյունքը չի տարբերակում փոփոխված կամ սխալ ձևաչափով տոկենը սխալ գաղտնաբառից։ Սկզբնական տեքստը վերականգնելու համար անհրաժեշտ են ամբողջական տոկենը և ճիշտ գաղտնաբառը։
Հաճախակի սխալներ
- Եթե վերծանումը չի հաջողվում, ստուգեք տոկենի ամբողջականությունը և նորից մուտքագրեք կոդավորման ժամանակ կիրառված նույն գաղտնաբառը, քանի որ փոփոխված տոկենն ու սխալ գաղտնաբառը նույն անվավերության կատեգորիան են վերադարձնում։
Հաճախ տրվող հարցեր
Արդյո՞ք գաղտնաբառը պարտադիր է։
Դատարկ տեքստի դեպքում գործիքը հաջող դատարկ արդյունք է վերադարձնում նախքան գաղտնաբառի ստուգումը։ Եթե տեքստը դատարկ չէ, գաղտնաբառը պահանջվում է երկու գործողությունների համար՝ և՛ կոդավորման, և՛ վերծանման։
Ինչո՞ւ նույն մուտքի համար ամեն անգամ նույն տոկենը չի ստացվում։
Նույն տեքստն ու գաղտնաբառը կարող են տարբեր տոկեններ ստեղծել, որովհետև ամեն կոդավորման ժամանակ գործիքը նոր պատահական 16 բայթանոց salt և 12 բայթանոց nonce է ստեղծում։ Այդ պատճառով տարբեր տոկենը սպասելի է։
Ի՞նչ է պետք վերծանման համար։
Պետք են գործիքի ստեղծած ամբողջական տոկենը և կոդավորման ժամանակ օգտագործված նույն գաղտնաբառը։ Թերի կամ փոփոխված տոկենը և սխալ գաղտնաբառը ներկայացվում են նույն համակցված անվավերության սխալով։ Հաջող զույգը վերադարձնում է սկզբնական UTF-8 տեքստը։