HMAC的定义非常简单,以至于你有时不好意思说这也算是一门知识,我的意思是你在跟别人吹牛的时候。
作为一个在江湖混了这么久的老江湖,HMAC对于跟它混的人,也是有要求的,不是啥阿猫阿狗都可以的。总结起来就是
点击(此处)折叠或打开
- H(K XOR opad, H(K XOR ipad, text))
- 对于KEY:一般也就是要求够长,但是也不能太长。看来这世界上啥东西都是相通的,想邪恶了。另外,需要够random,并且及时更新。这里面有些是算法的要求,有些是作为一个保密界的基本素质。
- 对于IV,其中就是K XOR opad及K XOR ipad,是否可以计算出来之后,就保存在内存中,不必每次重新计算。这是计算方法的实现细节决定的。
- 输出截断。首先,所说截断了有好处,但是截断之后,不能太短,
- 保密性:即冲突性的产生条件。这要求hash函数不能太差吧。