aes-128-cmac
=============

AES-CMAC纯[Node.js](http://nodejs.org/)实现。算法使用128,192和256位密钥的AES加密认证码（CMAC）。

## 安装

    npm install node-aes-cmac


## 使用

    模块提供唯一的加密方法: `aesCmac(key, message[, options])`
    和供浏览器使用的数据类型: `Buffer`

### 参数

    * `key` - (`string` | `Buffer`) 加密密钥，必须为128, 192或256位。
    * `message` - (`string` | `Buffer`) 加密内容
    * `options` - (`object` *optional*) 附加参数:
    * `returnAsBuffer` - (`boolean`) 设置 `true` 返回Buffer, 否则返回String。默认为`false`

### 返回值

    返回小写十六进制`string`, 如果设置`returnAsBuffer`属性为`true`的话则返回Buffer。

### 例子

    ```javascript
    var aesCmac = require('aes-128-cmac').aesCmac;

    // Simple example.
    var key = 'k3Men*p/2.3j4abB';
    var message = 'this|is|a|test|message';
    var cmac = aesCmac(key, message);
    // cmac will be: '0125c538f8be7c4eea370f992a4ffdcb'

    // Example with buffers.
    var bufferKey = new Buffer('6b334d656e2a702f322e336a34616242', 'hex');
    var bufferMessage = new Buffer('this|is|a|test|message');
    var options = {returnAsBuffer: true};
cmac = aesCmac(bufferKey, bufferMessage, options);
// cmac will be a Buffer containing:
// <01 25 c5 38 f8 be 7c 4e ea 37 0f 99 2a 4f fd cb>
```
