多线程(线程池)中对数据加密产生java.lang.IllegalStateException:Cipher not initialized解决办法
在线程池(多线程)aes加密的时候产生了java.lang.IllegalStateException:Cipher not initialized问题,记录本次解决方案:在线程中加密会出问题,然后又没用线程确认了下不会产生问题,所以,先把要加密的数据加密,放到map中,然后把map当做多线程的属性,带进去,这样就解决了问题//用于保存生成的加密后的信息,避免多线程并发aes出错...
·
在线程池(多线程)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值取出来就可以了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)