3des加密的cbc模式里的初始向量的问题
最近因为要把一些加密解密的过程封在PHP扩展中,在看一些PHP的mcrypt代码。 对于cbc模式里的那个iv向量,有点懵。
相关代码在php-5.2.14/ext/mcrypt/mcrypt.c中的定义mcryptcreateiv函数一段,即生成初始向量IV,在1214行。 其简化之后的代码片段如下:
int main()
{
int i,a[8] = {180428933,846930886,168162777,171463915,19747793,4228335,71985386,169760492};
char *iv;
iv = (char *)malloc(8);
for(i=0;i<8;i++)
{
iv[i] = a[i];
}
free(iv);
return 1;
}
其实就是将int型的变量赋值给一个char型的变量,不太明白这样操作的原因,望高人能给解释一下。是跟cbc模式算法有关么?必须通过这种操作,引发一个隐式的类型转换来获取一个奇怪的向量?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论