首页 > 其他分享 >记一个坑爹的报错,不要过于信任IDE上的热部署插件

记一个坑爹的报错,不要过于信任IDE上的热部署插件

时间:2023-12-15 23:55:06浏览次数:54  
标签:插件 加密 坑爹 秘钥 部署 报错 后台 CryptoJS

近期处理一个老项目的安全漏洞,要求敏感数据不能明文传输,考虑到效率和兼容性等问题,决定使用 对称加密,前端使用CryptoJS,后端使用Java标准库提供的API;

最开始试了DES算法,可以调通,但是鉴于现在这个算法因为秘钥太短已经不安全,又尝试新的AES,但是怎么也不行,后台解密报错:javax.crypto.BadPaddingException: Given final block not properly padded,

搜索出的原因要么说是秘钥错误,这个检查了肯定不会错;要么说是padding模式不一致,确实CryptoJS默认是Pkcs7,而Java为PKCS5Padding,但是很多文章说这两者是兼容的,

难道是因为CryptoJS太新,jdk版本太旧?实在不行可能就得换成两者唯一完全相同的NoPadding,但这样就需要自己处理数据长度问题.本着排除其他干扰的想法,原来的 秘钥key和偏移量是相同的,

再次将其改为了不同的,同时后台也写了与前台相同的加密方法比对,查看打印结果,前台加密后的变了没错,但是后台加密结果好像没变,进而将 秘钥key和偏移量 也打印出来,发现这俩也没变,

这...该不会是热部署没完全起效吧,手动重启Tomcat,再测,后台正常解密,还真是它.

这告诉我们,热部署虽方便,再碰到报错时也要记得考虑一下它出问题的可能性,再就是排错时关键的参数都要打印查看一下,说不定就能发现问题.

CryptoJS

标签:插件,加密,坑爹,秘钥,部署,报错,后台,CryptoJS
From: https://www.cnblogs.com/dirgo/p/17904390.html

相关文章

  • 解决方案 | pywintypes.com_error: (-2147221005, '无效的类字符串', None, None) --P
     1背景importpythoncomimportwin32com.clientimportmathwincad=win32com.client.Dispatch("AutoCAD.Application")#强制打开cad,该句发生报错信息doc=wincad.ActiveDocumentdoc.Utility.Prompt("Hello!Autocadfrompywin32com.\n")msp=doc.Mode......
  • vscode调试import文件报错: ModuleNotFoundError No module named 'libs'
    vscode调试python时出现import其他文件夹找不到路径的报错,需要设置正确的workingdirectory(cwd)和PYTHONPATH(env){"version":"0.2.0","configurations":[{"name":"Python:CurrentFile",&quo......
  • ffmpeg 添加自定义编解码插件
    有两种方法:一.ffmpeg添加自定义编解码插件(以修改ffmpeg源码的方式添加)例:添加一个解码器,给这个解码器取个名字叫mydecoder,可以通过下面的步骤添加:1.在libavcodec目录下,新建文件mydecoder.c#include"avcodec.h"#include"codec_internal.h"//自己封装的编解码器的头文件#......
  • hive Metastore 启动报错 Version information not found in metastore报错处理
    修改conf/hive-site.xml中的hive.metastore.schema.verification 设置为false。 hive Metastore 启动报错 [main]:MetastoreThriftServerthrewanexception...org.apache.hadoop.hive.metastore.api.MetaException:Versioninformationnotfoundinmetastore......
  • 安装mongo提示报错libcrypto.so.1.1解决方法
    1、输入网址:www.openssl.org第一种下载:点击Downloads→点击要下载的openssl然后解压:tar-zxvfopenssl.x.x.xx.tar.gz第二种下载:wgethttps://www.openssl.org/source/openssl-1.1.1w.tar.gz解压:tar-zxvfopenssl-1.1.1w.tar.gz切换到解压好的目录:cdopenssl-1.1.1w编译安装:./conf......
  • Seata 启动报错:[imeoutChecker_1] i.s.c.r.netty.NettyClientChannelManager : no av
    Seata启动报错:[imeoutChecker_1]i.s.c.r.netty.NettyClientChannelManager:noavailableservertoconnect.1.问题2.解决【application.xml和file.conf参数要相对应】......
  • nest报错表名已经存在
    问题如果使用nest出现了报错QueryFailedError:ER_TABLE_EXISTS_ERROR:Table‘你的表名’alreadyexists具体原因不详。解决经过多方资料查阅,解决方法如下实体的表名一定要全部小写或者使用_连接,不能用驼峰命名法检查数据库名和app.module.ts配置的表名是否用了驼......
  • 启动Docker服务报错
    启动Docker服务报错如下Jobfordocker.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusdocker.service"and"journalctl-xe"fordetails.使用命令journalctl-xe查看解决方法一、关闭防火墙或者selinux1、关闭防火墙system......
  • decimal插件计算
    import{Decimal}from'decimal.js';//引入exportconstcal={jia(num1,num2){returnnewDecimal(num1).add(newDecimal(num2))},jian(num1,num2){returnnewDecimal(num1).sub(newDecimal(num2))},cheng(num1,num2){returnnewDecimal(num......
  • 3.草图大师安装胚子插件、布料模拟插件
    一、胚子插件导入1.下载及安装胚子插件,https://www.bilibili.com/video/BV1xP411s7su/?vd_source=d1a768a1747fb268e1e40d209416a9d02.在草图大师界面右键勾选 二、布料模拟插件导入1.72版ClothWorks只支持su2020(ruby2.5)及以下,su2021(ruby2.7)控制台,使用1.74版ClothWorks,su2......