多线程(线程池)中对数据加密产生java.lang.IllegalStateException:Cipher not initialized解决办法

在线程池(多线程)aes加密的时候产生了java.lang.IllegalStateException:Cipher not initialized问题,记录本次解决方案:

在线程中加密会出问题,然后又没用线程确认了下不会产生问题,所以,先把要加密的数据加密,放到map中,然后把map当做多线程的属性,带进去,这样就解决了问题

			//用于保存生成的加密后的信息,避免多线程并发aes出错
			Map<String, Object> aesMsg = new HashMap<>();
			for(VillageStandard vs:list){
				String aesText = AESUtil.encrypt("要加密的内容");
				aesMsg .put("要加密的内容", aesText);
			}

然后带给多线程或线程池,再根据key值取出来就可以了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值