# create-hmac [](https://www.npmjs.org/package/create-hmac) [](https://travis-ci.org/crypto-browserify/createHmac) [](https://david-dm.org/crypto-browserify/createHmac#info=dependencies) [](https://github.com/feross/standard) Node style HMACs for use in the browser, with native HMAC functions in node. API is the same as HMACs in node: ```js var createHmac = require('create-hmac') var hmac = createHmac('sha224', Buffer.from('secret key')) hmac.update('synchronous write') //optional encoding parameter hmac.digest() // synchronously get result with optional encoding parameter hmac.write('write to it as a stream') hmac.end() //remember it's a stream hmac.read() //only if you ended it as a stream though ```