គ្មានការផ្ញើទិន្នន័យ

ឧបករណ៍បង្កើត HMAC (គណនា HMAC-SHA256 ក្នុងកម្មវិធីរុករក)

ឧបករណ៍គណនា HMAC ដើម្បីបង្កើត HMAC SHA256 នៅទីនេះតែម្តង។ Key និងការបញ្ចូលរបស់អ្នកមិនត្រូវបានផ្ញើចេញ ឬរក្សាទុកឡើយ។

គាំទ្រការបញ្ចូល Text/Hex/Base64 និងការបញ្ចេញ Hex/Base64។ គណនាដោយសុវត្ថិភាពដោយប្រើ Crypto API ស្តង់ដាររបស់កម្មវិធីរុករក។

គណនា្នក្នុងស្រុក គ្មានការរក្សាទុក គាំទ្រ Hex/Base64

បញ្ចូល និងបញ្ចេញ

ទំព័រនេះអនុវត្តការគណនាទាំងស្រុងនៅក្នុងកម្មវិធីរុករក ហើយមិនផ្ញើទិន្នន័យចេញឡើយ។

គ្មានការផ្ញើទិន្នន័យ
ទម្រង់បញ្ចូល

* 'លំដាប់បៃ (byte sequence)' តាមលក្ខណៈបច្ចេកទេស API គឺសំខាន់ណាស់។ ប្រសិនបើ key ជាប៊ីណារី សូមបញ្ចូលវាជា Hex/Base64។

ទម្រង់បញ្ចូល
ប្រវែងបញ្ចេញ: 32 បៃ (SHA-256)
ជម្រើស

លទ្ធផលនឹងផ្លាស់ប្តូរប្រសិនបើកូដចុះបន្ទាត់ខុសគ្នាដោយសារ OS ឬការបិទភ្ជាប់។

ដោយសារហត្ថលេខា API ត្រូវការ 'ការផ្គូផ្គងយ៉ាងច្បាស់លាស់' ការរក្សាទុកដូចដើមត្រូវបានណែនាំជាទូទៅ។

របៀបប្រើ

ជំហានមូលដ្ឋានចំនួន 3 សម្រាប់ការបង្កើតហត្ថលេខា HMAC។

  1. 1 បញ្ចូល Key (ជ្រើសរើស Hex / Base64 ប្រសិនបើ API ជាប៊ីណារី)
  2. 2 បញ្ចូលសារ (ខ្សែអក្សរសម្រាប់ចុះហត្ថលេខា / payload)
  3. 3 ជ្រើសរើសទម្រង់បញ្ចេញ (Hex / Base64) រួចចម្លង

HMAC ត្រូវបានគណនាលើ 'លំដាប់បៃ' មិនមែនលើ 'ខ្សែអក្សរ' ទេ។ ទោះបីជាវាមើលទៅដូចគ្នាក៏ដោយ លទ្ធផលនឹងខុសគ្នាប្រសិនបើការដាក់លេខកូដតួអក្សរ ការចុះបន្ទាត់ ឬចន្លោះលើសខុសគ្នា (សន្មតថាជា UTF-8)។

ឧទាហរណ៍ (សម្រាប់ផ្ទៀងផ្ទាត់)

ចុច 'ផ្ទុកឧទាហរណ៍' ដើម្បីបំពេញប្រអប់បញ្ចូល។

ឧទាហរណ៍ ១
Key (អត្ថបទ/UTF-8)
secret
សារ (អត្ថបទ/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
ឧទាហរណ៍ ២
Key (អត្ថបទ/UTF-8)
key
សារ (អត្ថបទ/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

បញ្ហាដែលជួបប្រទះញឹកញាប់

ភាពខុសគ្នានៃកូដចុះបន្ទាត់ (LF/CRLF)

លទ្ធផលនឹងផ្លាស់ប្តូរប្រសិនបើការចាត់ចែងការចុះបន្ទាត់ខុសគ្នា។

ការដកចន្លោះចេញ (Trimming)

ដោយសារហត្ថលេខាត្រូវការការផ្គូផ្គងយ៉ាងច្បាស់លាស់ ការដកចន្លោះចេញអាចបណ្តាលឱ្យមិនត្រូវគ្នា។

ទម្រង់ Base64URL

Base64URL ជាធម្មតាប្រើ +→-, /→_, និងដក = ចេញ។ សូមពិនិត្យមើលលក្ខណៈបច្ចេកទេស។

ការចាត់ចែង Key (អត្ថបទ ប្រៀបនឹង ប៊ីណារី)

ឧទាហរណ៍៖ ការបញ្ចូល 'deadbeef' ជា 'ខ្សែអក្សរ' ប្រៀបនឹងការបញ្ចូលវាជា 'លំដាប់បៃ 0xDE 0xAD...'។

ព័ត៌មានបន្ថែម

តើអ្វីទៅជា HMAC?

ជាយន្តការមួយសម្រាប់បង្កើតហត្ថលេខាពីកូដសម្ងាត់ និងសារ។ ភាគីទីបីមិនអាចបង្កើតលទ្ធផលដូចគ្នាបានទេ បើគ្មាន key ដូចគ្នា។

ភាពខុសគ្នាពី SHA-256

SHA-256 គឺជា 'hash' ចំណែក HMAC គឺជា 'keyed hash (ហត្ថលេខា)'។

ករណីប្រើប្រាស់

ប្រើសម្រាប់ហត្ថលេខា API, ការផ្ទៀងផ្ទាត់ Webhook, ការរកឃើញការកែប្រែសំណើ (request tampering) ជាដើម។

FAQ

តើ Key ត្រូវបានរក្សាទុកដែរឬទេ?

វាមិនត្រូវបានរក្សាទុកទេ។ ឧបករណ៍នេះគណនានៅក្នុងកម្មវិធីរុករក ហើយមិនផ្ញើ key ឬសារទៅកាន់ម៉ាស៊ីនមេឡើយ។ (※ជាការប្រុងប្រយ័ត្ន សូមចុចកំណត់ឡើងវិញបន្ទាប់ពីបញ្ចូលនៅលើកុំព្យូទ័រដែលប្រើរួមគ្នា)

ប្រើ Base64 ឬ Hex?

ប្រើទាំងពីរ។ អ្នកអាចជ្រើសរើសទម្រង់បញ្ចេញ (Hex / Base64 / Base64URL)។ សូមជ្រើសរើសតាមលក្ខណៈបច្ចេកទេស API។

ការដាក់លេខកូដតួអក្សរ (Encoding)?

សន្មតថាជា UTF-8។ ការបញ្ចូលអត្ថបទត្រូវបានបម្លែងជាបៃជា UTF-8 សម្រាប់ការគណនា។ ប្រើការបញ្ចូល Hex / Base64 សម្រាប់ការចាត់ចែងប៊ីណារី។

ភាពខុសគ្នារវាង HMAC និង SHA-256 hash?

SHA-256 គឺជា 'hash' ចំណែក HMAC គឺជា 'keyed hash (ហត្ថលេខា)'។ លទ្ធផលដូចគ្នាមិនអាចត្រូវបានបង្កើតឡើយ លុះត្រាតែ key ដូចគ្នា។

លទ្ធផលមិនត្រូវគ្នា

មូលហេតុទូទៅគឺ (១) ការចាត់ចែង Key (អត្ថបទ ប្រៀបនឹង ប៊ីណារី), (២) ការចុះបន្ទាត់, (៣) ចន្លោះទទេ, (៤) Base64URL។ សូមពិនិត្យមើលបញ្ហាដែលជួបប្រទះញឹកញាប់ខាងលើតាមលំដាប់។