首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT + JBoss + MessageDigest + "SHA-512不受支持“

GWT + JBoss + MessageDigest + "SHA-512不受支持“
EN

Stack Overflow用户
提问于 2014-08-01 00:28:28
回答 1查看 274关注 0票数 0

我刚刚发现了一些奇怪的行为,我认为在这里报告会很有趣,所以它可以帮助其他人(因为我在询问google时没有发现任何关于这个问题的线索)。

所以,我的环境是:

Java 7.25

GWT 2.5.1

Jboss 7.1.1

我用这种方式制作了一些登录工作流:

1)客户输入登录/密码

2)密码在客户端是SHA-512散列。

3)对客户端刚刚散列的密码进行腌制,然后在服务器端对SHA-512进行散列。

FYI,这是相同的功能散列SHA-512在客户端和服务器端。用于选择哈希算法的代码如下:

代码语言:javascript
复制
MessageDigest digest = MessageDigest.getInstance("SHA-512");

当我在GWT开发模块(带有嵌入式jetty容器)上运行我的项目时,一切都运行得很好。

然后我生成我的项目的战争,并将其部署到JBoss上,问题是:方法MessageDigest.getInstance( "SHA-512 ")触发了e.getMessage() =>“SHA-512不受支持”的NoSuchAlgorithmException。但只限于客户端。服务器端散列是可以的(因此,RPC方法向服务器发送一个空密码,而不是SHA-512 )

我不认为这是预期的行为,我想知道是否有人对此有所了解。我不知道问题的根源是什么,我要深入检查一下:

  • 尝试使用gwt 2.6.1 (即使changelog没有提到类似的内容)
  • 尝试使用其他JBoss版本
  • 尝试使用其他哈希算法
  • 检查war构建日志(可能是maven问题?)我怀疑,但谁知道)

如有任何建议,将不胜感激:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-01 00:45:56

我认为这是预期的行为。如果您查看支持的GWT包的列表,java.security.*就不存在了。它在dev模式下工作,因为它在真正的JVM中运行,而不是在编译的javascript中运行。

但是为什么您甚至需要在客户端执行密码哈希操作呢?Imho应该在服务器端完成.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25071086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档