openssl库aes解密总是出现几个错误字符
原始数据,密码,向量加密方式 填充方式 全部核对过了 都一致openssl.加密_字节集_AES_CBC (blob, 密码, iv, 128, 数据填充模式.零填充)
但解密必定出现几个错误字节,经过多次排查发现 加密后立即解密 结果是正确的 但如果写出到文件 再读入文件 进行解密 结果就错误了
已经md5核对过 读入文件的md5和立即解密时加密变量的md5是一致的
加密_AES_CBC
加密_字节集_AES_CBC
都试过 都存在这个问题
// 正在启动被调试程序
// md5=442975fdc7e14ef1bf35c3e972241c3d
// ivmd5=781756890e45a8de942acb47c369e8be
// passwordmd5=a74bb024c1f8db93c731fc8fc3291253
// 加密结果=032db286032a7506f346a904560e96a6
// 立即解密结果=ac10cfeff1f6452b024d070d7999ce31
// <字节集> 总共 64 个字节:
// : FF FE 65 00 77 00 66 00 74 00 79 00 65 00 77 00 | ..e.w.f.t.y.e.w.
// : 69 00 75 00 65 00 72 00 66 00 72 00 65 00 68 00 | i.u.e.r.f.r.e.h.
// : 65 00 68 00 69 00 75 00 65 00 72 00 69 00 75 00 | e.h.i.u.e.r.i.u.
// : 72 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 | r.e.............
// 读入加密结果=032db286032a7506f346a904560e96a6
// 读入解密结果=dc55c10f64475f88da314ef3bab728ca
// <字节集> 总共 64 个字节:
// : FF FE 65 00 77 00 66 00 74 00 79 00 5D 00 41 00 | ..e.w.f.t.y.].A.
// : 69 00 75 00 65 00 72 00 66 00 72 00 65 00 68 00 | i.u.e.r.f.r.e.h.
// : 65 00 68 00 69 00 75 00 65 00 72 00 69 00 75 00 | e.h.i.u.e.r.i.u.
// : 72 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 | r.e.............
// [内存监测]: 在缓存池中峰值分配内存块数/缓存池总尺寸(预分配块数): 13 / 16384 , 总共分配了 113 次内存,有 113 次在缓存池中分配,比例为 100% .
// 被调试程序已经退出,退出码为0x0.
// 调试已经停止
没有找到附件上传入口 传到蓝奏云了 h t t p s://wwf.lanzn.com/iWK5s21h7c5a
这个问题我排查几天了 最终确定是openssl加解密时的问题,不知道是我环境有问题还是封装的问题 也有点像触发了某个暗桩?用的是火山官网下的正版火山
根据注释,向量需要提供16字节。你弄少了。修改一下再看看。
创世魂 发表于 2024-6-10 21:47
根据注释,向量需要提供16字节。你弄少了。修改一下再看看。
大佬牛 解决了 密钥和iv长度更换后解密的结果一致了
页:
[1]