使用redis时,加密报错,该咋办?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕酷酷 2020-02-09 18:06:09

同学你好,出现了运行时异常,原因是输入的解密的字符串的数组必须是8的倍数。

这是因为老师对数据库使用了DES加密算法(数据库的用户名,密码)。也就是spring-dao下面的这个配置,可以看到里面有jdbc.properties和redis.properties两个配置文件。由于在测试时也是要连接数据库的,所以在加载时,会把配置文件(jdbc.properties和redis.properties)当做加密的,但是实际没有加密,所以报错了,同学将下面的配置注释就可以了。

具体如下:

http://img1.sycdn.imooc.com//climg/5e3fd94709ba7fa812380360.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 weixin_慕标8249959 #1
    把注释去掉还是报异常,老师,该如何处理?
    2020-02-12 16:18:21
  • 提问者 weixin_慕标8249959 #2
    老师,我还问一下什么是输入的解密的字符串,具体可以在源码的哪个类看到,另外,我在DESUtil类中使用main方法测试我的数据库的用户名和密码是否可以正常解密和加密,测试结果是可以,但是为什么启动服务器,运行校园商铺应用时,却依旧出现Input length must be multiple of 8 when decrypting with padded cipher异常?
    2020-02-12 16:23:38
  • 提问者 weixin_慕标8249959 #3
    我发现问题是这个项目根本就没有对数据库的密码和用户名进行加密的操作,所以我想问老师为什么要引入这个功能残缺的加密代码?
    2020-02-12 16:33:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师