0 0

Shiro认证产生的 java.security.InvalidKeyException: Invalid AES key length: 58 bytes5

这个错误是咋回事呢?

org.apache.shiro.crypto.CryptoException: Unable to init cipher instance.
at org.apache.shiro.crypto.JcaCipherService.init(JcaCipherService.java:495) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.crypto.JcaCipherService.initNewCipher(JcaCipherService.java:598) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.crypto.JcaCipherService.crypt(JcaCipherService.java:444) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.crypto.JcaCipherService.encrypt(JcaCipherService.java:324) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.crypto.JcaCipherService.encrypt(JcaCipherService.java:313) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.AbstractRememberMeManager.encrypt(AbstractRememberMeManager.java:473) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.AbstractRememberMeManager.convertPrincipalsToBytes(AbstractRememberMeManager.java:362) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.AbstractRememberMeManager.rememberIdentity(AbstractRememberMeManager.java:346) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.AbstractRememberMeManager.rememberIdentity(AbstractRememberMeManager.java:321) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.AbstractRememberMeManager.onSuccessfulLogin(AbstractRememberMeManager.java:297) ~[shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.DefaultSecurityManager.rememberMeSuccessfulLogin(DefaultSecurityManager.java:206) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.DefaultSecurityManager.onSuccessfulLogin(DefaultSecurityManager.java:291) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:285) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:256) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:53) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.filter.authc.FormAuthenticationFilter.onAccessDenied(FormAuthenticationFilter.java:154) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-all-1.2.3.jar:1.2.3]
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-all-1.2.3.jar:1.2.3]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) [spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) [spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53]
at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180) [spring-orm-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.53]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.53]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:7.0.53]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.53]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) [catalina.jar:7.0.53]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) [catalina.jar:7.0.53]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.53]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.53]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) [tomcat-coyote.jar:7.0.53]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.53]
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441) [tomcat-coyote.jar:7.0.53]
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430) [tomcat-coyote.jar:7.0.53]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
Caused by: java.security.InvalidKeyException: Invalid AES key length: 58 bytes
at com.sun.crypto.provider.AESCipher.engineGetKeySize(AESCipher.java:372) ~[sunjce_provider.jar:1.7.0_51]
at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1052) ~[na:1.7.0_51]
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1023) ~[na:1.7.0_51]
at javax.crypto.Cipher.implInit(Cipher.java:790) ~[na:1.7.0_51]
at javax.crypto.Cipher.chooseProvider(Cipher.java:849) ~[na:1.7.0_51]
at javax.crypto.Cipher.init(Cipher.java:1348) ~[na:1.7.0_51]
at javax.crypto.Cipher.init(Cipher.java:1282) ~[na:1.7.0_51]
at org.apache.shiro.crypto.JcaCipherService.init(JcaCipherService.java:488) ~[shiro-all-1.2.3.jar:1.2.3]
... 56 common frames omitted
2014年5月23日 14:43

3个答案 按时间排序 按投票排序

0 0

采纳的答案

AES的key的长度需要是8的倍数,你在生成key的时候,生成的长度为64就可以了。

2014年5月23日 14:51
0 0

生成密文的密钥位数不对,需要是8位或者8位倍数的长度

2014年5月25日 20:25
0 0

我生成64位的也跟楼主报一样的错~~~

2014年5月24日 10:10

相关推荐

    jedis-3.3.0.jar

    at com.ehr.security.shiro.SystemAuthorizingRealm.doGetAuthenticationInfo(SystemAuthorizingRealm.java:203) at org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java...

    java head space.txt

    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at ...

    shiro所有jar包

    Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,使得在Java应用中处理安全性变得更加简单。Shiro不仅适合大型企业级应用,也适用于小型项目,因为它的API设计直观易用。当...

    Apache Shiro核心jar包:shiro-core-1.3.2

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    shiro-1.7.1.zip

    Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证(Authentication)、授权(Authorization)、会话管理(Session Management)和加密(Cryptography)等核心功能。`shiro-1.7.1.zip`是一个包含...

    高版本AES-GCM模式加密的Shiro漏洞利用1

    1. AES-GCM模式加密:AES-GCM是一种高级加密模式,使用Galois/Counter Mode(GCM)进行加密。GCM模式可以提供高安全性和高性能的加密。 2. Shiro框架:Shiro是一个开源的Java安全框架,提供了身份验证、授权、会话...

    shiro1.7.1.zip

    Apache Shiro 是一个强大且易用的Java安全框架,提供了身份认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。标题中的"shiro1.7.1.zip"表明这是一个包含Apache Shiro 1.7.1版本所有核心模块的压缩包,...

    shiro-cache-1.4.0-API文档-中英对照版.zip

    标签:apache、shiro、cache、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    shiro-core-1.4.0-API文档-中文版.zip

    标签:apache、shiro、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    shiro_tool.zip

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。在"shiro_tool.zip"这个压缩包中,我们可以推测可能包含了一些关于Shiro使用的工具类、...

    狂神说Java 笔记,java入门,docker ,spring 全家桶,redis , mysql , vue , javascript ,htm5, css

    31、Shiro.pdf 32、SpringCloudNetflix-H版.pdf 33、JVM探究.pdf 34、JUC精讲.pdf 35、Git.pdf 36、Linux使用.pdf 37、Redis精讲.pdf 38、ElasticSearch.pdf 39、ActiveMQ.pdf 40、Docker上.pdf 41、...

    shiro-all jar

    7. **org.apache.shiro.subject**: Shiro的核心概念,代表当前操作的主体(如用户),包括其认证信息和授权信息。 8. **org.apache.shiro.web**: 针对Web应用的安全管理,提供过滤器、控制器等功能,易于与Servlet...

    Shiro入门框架

    这个Demo体现shiro的地方主要在两个类以及shiro.xml的配置文件 CustomRealm : 处理了登录验证以及授权.. ShiroAction : 用来传递登录时的用户数据..转换为token传递给realm...之后根据结果做相应的逻辑处理.. shiro....

    shiro.freemarker.ShiroTags已打包

    Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了认证、授权、加密和会话管理功能,简化了开发人员在应用程序中处理安全问题的复杂性。ShiroTags 是 Shiro 提供的一套用于模板引擎的标签库,如 Freemarker ...

    shiro权限管理框架.pdf

    Shiro是一个开源的Java安全框架,用于实现用户认证、授权、加密、会话管理等功能。它抽取了软件系统中安全认证相关的功能,形成一个通用的安全认证框架,不仅适用于JavaSE环境,同样适用于JavaEE环境。Shiro的使用...

    shiro-jar.zip

    shiro-all-1.7.1.jar,shiro-aspectj-1.7.1.jar,shiro-cache-1.7.1.jar,shiro-config-core-1.7.1.jar,shiro-config-ogdl-1.7.1.jar,shiro-core-1.7.1.jar,shiro-crypto-cipher-1.7.1.jar,shiro-crypto-core-1.7.1.jar...

    shiro-crypto-hash-1.4.0-API文档-中文版.zip

    标签:apache、shiro、crypto、hash、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...

    shiro jar包及源码下载

    Apache Shiro是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,可以简化开发人员处理安全的复杂性。Shiro适用于各种应用,从小型独立应用到大型分布式系统,都能有效地支持。 在"shiro-...

    1.JAVA后台管理系统,企业开发首选脚手架2.后台采用Springboot框架+ Shiro权限+ Mybatis.zip

    Apache Shiro是一款轻量级的安全框架,主要处理认证(登录验证)、授权(权限控制)、会话管理和加密等安全问题。在后台管理系统中,Shiro的作用包括: 1. 用户身份验证:通过用户名和密码进行登录验证。 2. 权限...

    shiro使用的jar包

    6. **org.apache.shiro.subject.support.jar**:包含Subject的支持类,Subject是Shiro的中心概念,代表了当前的认证和授权信息。 7. **org.apache.shiro.config.jar**:提供配置Shiro的工具,如ini配置文件解析。 ...

Global site tag (gtag.js) - Google Analytics