Siirry sisältöön

HMAC-SHA256-generaattori

Luo viestistä ja salaisesta avaimesta HMAC-SHA256-allekirjoitus. Työkalu koodaa molemmat UTF-8-muotoon, soveltaa RFC 2104:n mukaista HMAC-rakennetta käyttäen algoritmia SHA-256 ja palauttaa 256-bittisen tunnisteen heksadesimaali- tai Base64-muodossa. Kehittäjät käyttävät sitä palveluiden, kuten Stripen, GitHubn tai Slackn webhook-allekirjoitusten vianmääritykseen, API-pyyntöjen allekirjoittamiseen ja tulosten vertailuun oman koodinsa kanssa. Avainta ei palauteta eikä kirjata lokiin.

Nollaa

Usein kysytyt kysymykset

Mikä on HMAC-SHA256?

HMAC-SHA256 on viestin autentikointikoodi, joka muodostetaan algoritmista SHA-256 ja salaisesta avaimesta RFC 2104:n mukaisesti. Vain avaimen haltija voi laskea viestille oikean tunnisteen. Tulos on 32 tavua eli 64 heksadesimaalimerkkiä.

Miten webhook-allekirjoitus tarkistetaan?

Liitä viestiksi pyynnön täsmällinen raakasisältö ja avaimeksi allekirjoitukseen käytetty salaisuus. Vertaa sitten tulosta allekirjoitusotsakkeeseen. Monet palvelut allekirjoittavat yhdistelmän, kuten Stripen aikaleiman, pisteen ja rungon, joten muodosta viesti niiden dokumentaation ohjeiden mukaan. Jo yhden tavun muutos tuottaa eri tunnisteen.

Onko tunnettua testivektoria?

RFC 4231:n testitapauksessa 2 käytetään avainta Jefe ja viestiä what do ya want for nothing?; odotettu tulos on 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843. Tämä työkalu palauttaa täsmälleen saman arvon.

Miten avain ja viesti koodataan?

Molemmat koodataan UTF-8-tekstiksi. Jos salaisuutesi annetaan heksadesimaali- tai Base64-muodossa, kuten jotkin palvelut tekevät, tavut poikkeavat näkyvästä tekstistä, joten avain on purettava ensin omassa koodissasi. Välilyönnit ja rivinvaihdot huomioidaan molemmissa kentissä.

Tallennetaanko salainen avaimeni?

Ei. Avainta käytetään vain tunnisteen laskemiseen pyynnön aikana. Sitä ei sisällytetä vastaukseen, kirjata lokiin eikä tallenneta.

Voiko avain olla tyhjä tai hyvin pitkä?

HMAC hyväksyy kaikenpituiset avaimet, myös tyhjän avaimen. Yli 64 tavun pituiset avaimet tiivistetään ensin algoritmilla SHA-256 RFC:n määrityksen mukaisesti. Valitse käytännön käyttöön satunnainen, vähintään 32 tavun avain.

Valitsenko heksadesimaali- vai Base64-muodon?

Käytä vastapuolen lähettämää muotoa. GitHub ja Stripe käyttävät heksadesimaalimuotoa, kun taas Slack lisää heksadesimaalimerkkijonon eteen v0=-etuliitteen, ja monet AWS- ja JWT-pohjaiset järjestelmät käyttävät Base64-muotoa. Molemmat esittävät samat 32 tavua.

Onko HMAC-SHA256 sama kuin avaimen ja viestin yhdistelmän SHA-256?

Ei. HMAC tiivistää viestin kahdesti sisäisillä ja ulkoisilla täyteavaimilla, mikä suojaa pituudenjatkamishyökkäyksiltä. Avaimen ja viestin yhdistäminen ja tiivistäminen kerran tuottaa erilaisen ja heikomman tuloksen.

Miten allekirjoituksia kannattaa vertailla koodissa?

Käytä vakioaikaista vertailufunktiota, kuten crypto.timingSafeEqual-funktiota kielessä Node.js tai hmac.compare_digest Pythonissa. Tavallinen merkkijonovertailu voi vuotaa ajoitustietoja odotetusta tunnisteesta.

Kuinka suuri viesti voi olla?

Viestin ja avaimen yhteiskoko voi olla enintään 5 MiB tekstiä. Tämä riittää tavallisiin webhook-kuormiin ja API-pyyntöihin.

Tietoja: OneClick Pro

OneClick Pro on ilmainen kokoelma, jossa on yli 150 verkkotyökalua arjen tehtäviin: kuvien ja yksiköiden muuntamiseen, koodin muotoiluun ja validointiin, verkkotunnusten ja SEO tarkistamiseen sekä tekstien, päivämäärien ja lukujen käsittelyyn. Kaikki työkalut toimivat ilman rekisteröitymistä tai tilausta. Syöttämiäsi tietoja käytetään vain tuloksen laskemiseen, eikä niitä tallenneta koskaan. Käytä palvelua nopeana apuvälineenä yksittäisiin tehtäviin tai lisää kirjanmerkkeihin työkalut, joita tarvitset päivittäin.