Ինչպես ստեղծել HMAC տեքստի և գաղտնիքի համար
Մուտքագրեք ոչ դատարկ տեքստ, անհրաժեշտ գաղտնիք և օգտագործելի ալգորիթմ, ապա գործարկեք HMAC-ի ստեղծումը։ Եթե ալգորիթմ չնշեք, ընտրվում է SHA-256-ը։
HMAC արժեքի կիրառման հիմքը
Այս գործիքը նախատեսված է մուտքագրված տեքստի և գաղտնիքի հիման վրա HMAC արժեք ստանալու համար։ Այն հարմար է այն իրավիճակում, երբ անհրաժեշտ է նույն տվյալների համար ստանալ համադրելի արժեք՝ ընտրելով հեշավորման օգտագործելի ալգորիթմ։ Տեքստը, գաղտնիքը և ալգորիթմը պարտադիր մուտքեր չեն, ուստի կարելի է սկսել նաև լրացուցիչ դաշտերը չփոխելով։ Այնուամենայնիվ, դատարկ և ոչ դատարկ տեքստերի վարքը տարբեր է, և այդ տարբերությունը պետք է հաշվի առնել արդյունքը գնահատելիս։ Եթե տեքստը թողնեք դատարկ, գործողությունը կավարտվի հաջողությամբ, սակայն հաշվարկված HMAC-ի փոխարեն կստանաք դատարկ արժեք։ Հետևաբար գործիքի նպատակային օգտագործման համար տեքստի դաշտում մուտքագրեք իրական բովանդակություն, ոչ թե միայն դաշտը թողեք լրացված երևալու համար։ Ալգորիթմ չնշելու դեպքում ընտրվում է SHA-256-ը։ Ձեր նշած անունը օգտագործվում է հասանելի հեշավորման գրադարանից համապատասխան իրականացում ընտրելու համար, ուստի անունի ընտրությունը ազդում է ստացվող արդյունքի վրա։ Նույն HMAC-ը կրկնելու կամ համեմատելու նպատակով պետք է պահպանեք նույն տեքստը, նույն գաղտնիքը և նույն ալգորիթմի անունը։
Գործողության կատարման հերթականությունը
- Տեքստի դաշտում մուտքագրեք այն բովանդակությունը, որի համար ցանկանում եք ստանալ HMAC։ Դա կարող է լինել հաղորդագրության կարճ տեքստ, պատվերի նույնացուցիչ կամ այլ տվյալ, որի արժեքը պետք է նույնությամբ փոխանցվի գործիքին։ Ուշադրություն դարձրեք սկզբի և վերջի բացատներին, տառերի գրությանը, թվերին և նշաններին, քանի որ մուտքի փոքր փոփոխությունը փոխում է այն տվյալը, որի համար կատարվում է գործողությունը։ Եթե դաշտը դատարկ թողնեք, արդյունքը հաջողության նշում կունենա, բայց HMAC-ի դաշտում կհայտնվի դատարկ արժեք։ 2. Գաղտնիքի դաշտում մուտքագրեք այն գաղտնիքը, որը պետք է մասնակցի ոչ դատարկ տեքստի համար HMAC-ի ստեղծմանը։ Դատարկ գաղտնիքը սխալ չէ, սակայն այդ դեպքում գործիքը կիրառում է ներքին պահուստային գաղտնիք, ոչ թե դատարկ գաղտնիքը։ Այդ պատճառով գործնական համեմատության կամ կրկնվող ստուգման համար մուտքագրեք ձեր նախատեսած գաղտնիքը և նույն ձևով պահեք այն օգտագործման պահին, բայց մի պահեք գաղտնիքը ծածկագրված տվյալների կողքին։ 3. Ընտրեք օգտագործելի ալգորիթմի անունը կամ թողեք լռելյայն ընտրված SHA-256-ը։ Անունը պետք է համապատասխանի հեշավորման գրադարանում հասանելի իրականացմամբ լուծվող տարբերակի։ 4. Գործարկեք HMAC-ի ստեղծումը և դիտեք վերադարձված արդյունքը։ Ոչ դատարկ տեքստի ու օգտագործելի ալգորիթմի համադրության դեպքում արդյունքը հաջող է և պարունակում է ստեղծված HMAC արժեքը։ Եթե նշված անունը չի լուծվում օգտագործելի իրականացմամբ, այն մի մեկնաբանեք որպես ստացված HMAC-ի հաստատում, քանի որ գործիքը նման դեպքը տեղային կառուցվածքային ձախողման չի վերածում։
Արդյունքի ընթերցման կանոնները
Արդյունքի հաջող վիճակը պետք է դիտարկել մուտքերի համադրության հետ միասին։ Երբ տեքստը ոչ դատարկ է, իսկ ալգորիթմի անունը լուծվում է օգտագործելի հեշավորման իրականացմամբ, վերադարձված արդյունքը պարունակում է ստեղծված HMAC արժեք։ Այդ արժեքը համեմատելիս նույնությամբ կրկնեք տեքստը, գաղտնիքը և ալգորիթմը, հակառակ դեպքում համեմատվում են տարբեր մուտքեր։ Դատարկ տեքստի դեպքում հաջող ավարտը միայն ցույց է տալիս, որ գործողությունն ավարտվել է, և չի նշանակում, թե HMAC-ի հաշվարկված գաղտնագրական արժեք կա։ Այդ ճյուղում վերադարձվող HMAC-ը դատարկ է, ուստի այն չի կարելի շփոթել ոչ դատարկ տեքստի համար ստացված արժեքի հետ։ Դատարկ գաղտնիքով կատարված գործողությունը նույնպես պետք է առանձնացնել ձեր գաղտնիքով կատարված գործողությունից։ Ոչ դատարկ տեքստի դեպքում գործիքը դատարկ գաղտնիքը փոխարինում է ներքին պահուստային գաղտնիքով, հետևաբար արդյունքը հիմնված է այդ փոխարինված գաղտնիքի վրա։ Եթե ցանկանում եք վերարտադրել արդյունքը, մի փոխեք այդ մուտքային պայմանը և մի ենթադրեք, որ դատարկ գաղտնիքը գործածվել է ուղղակիորեն։ Ալգորիթմի անունը ճանաչելի լինելու դեպքում ստացված արժեքը վերաբերում է հենց այդ ընտրությանը։ Անճանաչելի կամ չլուծվող անվանման դեպքում գործիքը չի ձևավորում տեղային կառուցվածքային սխալ, ուստի նման իրավիճակում արդյունքի մեկնաբանությունը պետք է սահմանափակել և նախ ստուգել ընտրված անունը։ Գործիքը չի հաստատում ձեր մուտքերի իմաստը, նպատակահարմարությունը կամ արտաքին համակարգի պահանջներին համապատասխանությունը։ Այն վերադարձնում է արդյունք միայն այն վարքի շրջանակում, որը որոշվում է տեքստով, գաղտնիքով և ընտրված ալգորիթմով։
Գործնական օրինակ
API-ի հարցման նույնացուցիչի համար ցանկանում եք ստանալ HMAC՝ օգտագործելով «պատվեր-184» տեքստը և «գաղտնիք-7» գաղտնիքը։
Մուտքագրեք «պատվեր-184» տեքստը, «գաղտնիք-7» գաղտնիքը և SHA-256 ալգորիթմը, ապա գործարկեք HMAC-ի ստեղծումը։
Արդյունքը պետք է պարունակի հաջող ավարտի նշում և ստեղծված HMAC արժեք՝ առանց այստեղ դրա արժեքը կանխատեսելու։
Սահմանափակումներ
- Ալգորիթմի անունը պետք է լուծվի հասանելի հեշավորման օգտագործելի իրականացմամբ, իսկ չլուծվող անունը գործիքը տեղային կառուցվածքային սխալի չի վերածում։
Հաճախակի սխալներ
- Դատարկ HMAC արժեքի պատճառը կարող է լինել դատարկ տեքստը. մուտքագրեք իրական բովանդակություն և կրկին գործարկեք ստեղծումը։
Հաճախ տրվող հարցեր
Պե՞տք է լրացնել տեքստի, գաղտնիքի և ալգորիթմի դաշտերը։
Դաշտերը պարտադիր չեն, սակայն տեքստը դատարկ թողնելու դեպքում կստանաք դատարկ HMAC արժեք, իսկ ոչ դատարկ տեքստի հետ դատարկ գաղտնիք օգտագործելիս կկիրառվի ներքին պահուստային գաղտնիք։
Ո՞ր ալգորիթմն է ընտրվում, եթե այն չնշեմ։
Չնշված ալգորիթմի դեպքում ընտրվում է SHA-256-ը, իսկ նշված անունը պետք է լուծվի հասանելի հեշավորման օգտագործելի իրականացմամբ։
Դատարկ տեքստի համար հաշվարկված HMAC կստանա՞մ։
Դատարկ տեքստի դեպքում գործողությունը հաջողությամբ ավարտվում է, բայց HMAC հաշվարկված արժեք չի ստեղծվում, և վերադարձվող արժեքը մնում է դատարկ։