什么因素会影响rsa解密的结果?
问题描述: 做了一个运维平台,涉及到ssh密码的保存,在程序的调用过程中涉及到加密和解密,奇怪的是本地的加密解密都没有问题,但是把程序放到linux的机器上(以docker的形式部署就出问题了,同样的代码,居然解密为空.....) 这就导致后续的程序直接执行报错了....
代码很简单就是从数据库查询出密码的密文,然后解密同样的代码,在测试环境解析的为空
百思不得其解,看了一下时区,编码集是一致的(zh_CN.UTF-8)
rsa用的是hutool的工具类
docker-compose.yml 文件如下
opde:
container_name: opde
image: openjdk8-tomcat8:latest
volumes:
- ./bim/opde:/opde
- ./bim/home:/bim
- ./bim/opde-logs:/home/opde-logs
entrypoint:
["java","-jar","/opde/opde.jar"]
environment:
spring.config.location: /opde/application.yml
TZ: Asia/Shanghai
LANG: zh_CN.UTF-8
network_mode: "host"
cap_add:
- NET_ADMIN
restart: always
这个真的无从下手......求大佬支招
回答:
我认为几个点可以排查,排名按我认为的概率分先后
- 确认下rsa加密用的公钥和解密用的私钥,在本地环境和线上环境是否同一份,如果不同或需求需要不同,那么确保加密用的公钥和解密用的私钥是一对
- 确认jdk版本是否一致
- 确认hutool版本是否一致
- 确认下loginDTO.getPassword()的返回值本地和线上环境是否一致
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
以上是 什么因素会影响rsa解密的结果? 的全部内容, 来源链接: utcz.com/p/944489.html