AES-128-CBC加密算法,密钥长度究竟是128位还是16位?
从定义来看,密钥长度应该是128位哈,但是为啥我试的在线des的加解密工具,输入密钥长度提示最多16位呢??
从网上下的别人的代码是这样滴:
uint8_t iv[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f };//向量,16字节
uint8_t in[] = { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c, 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51,
0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, 0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef,
0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 };//原文,64字节
uint8_t key[] = { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };//密钥,16字节
其中uint8_t就是unsigned char类型,key长度就是16字节呀!(但是printf出的key=2b7e151628aed2a6abf7158809cf4f3c,这长度不是32字节了么?这是问题一)
将原文加密后,输出结果是:
7649abac8119b246cee98e9b12e9197d
5086cb9b507219ee95db113a917678b2
73bed6b8e3c1743b7116e69e22229516
3ff1caa1681fac09120eca307586e1a7
但是我在网上找的在线des加密工具把对应的信息输入进去后,显示是这样的:

问题二:为啥密文变这么长了?不应该也是64字节么?
迷茫中,请各位帮忙解答一下,谢谢啦!
从网上下的别人的代码是这样滴:
uint8_t iv[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f };//向量,16字节
uint8_t in[] = { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c, 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51,
0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, 0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef,
0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 };//原文,64字节
uint8_t key[] = { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };//密钥,16字节
其中uint8_t就是unsigned char类型,key长度就是16字节呀!(但是printf出的key=2b7e151628aed2a6abf7158809cf4f3c,这长度不是32字节了么?这是问题一)
将原文加密后,输出结果是:
7649abac8119b246cee98e9b12e9197d
5086cb9b507219ee95db113a917678b2
73bed6b8e3c1743b7116e69e22229516
3ff1caa1681fac09120eca307586e1a7
但是我在网上找的在线des加密工具把对应的信息输入进去后,显示是这样的:

问题二:为啥密文变这么长了?不应该也是64字节么?
迷茫中,请各位帮忙解答一下,谢谢啦!
...全文
相关推荐
iOS AES128加密解密
AES加密在iOS上面的实现,仅供学习参考,从别人那借鉴来的!
对接java AES/ECB/PKCS7Padding加密
在对接java开发的加密方法,整理的PHP 对接java AES/ECB/PKCS7Padding加密转16进制字符串,加解密方法
PHP和JAVA AES交互
PHP和AES的交互通讯代码!可以实现两种语言之间代码的传送和交互,供参考学习!
PHP7.1实现的AES与RSA加密操作示例
本文实例讲述了PHP7.1实现的AES与RSA加密操作。分享给大家供大家参考,具体如下: AES: <?php header('Content-Type: text/plain;charset=utf-8'); $data = 'phpbest'; $key = 'oScGU3fj8m/tDCyvsbEhwI91M1FcwvQqWuFpPoDHlFk='; //echo base64_encode(openssl_random_pseudo_bytes(32));\n$iv = 'w2wJCnctEG09danPPI7SxQ=='; //echo base64_encode(openssl_r
基于PHP和JS的AES相互加密解密方法源码 亲测有效
基于PHP和JS的AES相互加密解密方法源码 亲测有效,自已用的


其他
