MCRYPT_RIJNDAEL_256不是AES-256。这是Rijndael密码,其块大小为256(因此出现错误)。AES是Rijndael密码的子集,使用128位的块大小和128、192和256位的
密钥 大小。这也反映在IV大小上。
要创建AES-256加密密文,可以使用
MCRYPT_RIJNDAEL_128正确的密钥大小(256位为32字节)。的
_128后缀指示要使用的块大小;
您仍然可以将其与128、192或256位的任何有效密钥大小一起使用。
请注意,不再维护mcrypt-尤其是基础C库。您最好使用openssl或更高版本的加密库。
mcrypt和OpenSSL包装器也将愉快地允许使用无效的密钥大小,仅在警告您时(如果您很幸运)。当然,这与任何定义良好的AES库都不兼容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)