`
xdoc
  • 浏览: 296409 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java安全中的“大坑”,跨平台真“浮云”

阅读更多

        最近在做一个开源项目HttpDB,它的目标是在互联网中通过JDBC安全的查询数据库,解决云计算报表的数据库访问问题。



 

        数据传输使用AES加密算法,用到了Java提供的安全库javax.crypto.*,经过一通折腾,大功告成。发布  到了新浪云服务SAE中测试,结果我不能淡定了,加密后的数据解密失败。。。

        搞到深夜,无语,问题终于找到了,我本地用的是SUN的JDK,SAE中是OpenJDK,安全算法实现不一致。。。

        后来在Git中找了一个AES的实现替代了JDK的实现,终于搞定了。。。

        成果与大家分享:http://xdoc.sinaapp.com/httpdb.html

 

  • 大小: 42.9 KB
3
5
分享到:
评论
17 楼 xdoc 2014-06-23  
freezingsky 写道
xdoc 写道
freezingsky 写道
java中的跨平台,是需要共同遵守jvm规范的。我觉得这个情况与java是否跨平台没有关系。

准确来说是不同实现导致的,类似的问题我在java2D排版绘图中也遇到过,OpenJDK目前的实现真不怎么样。目前云计算环境中的JDK都采用OpenJDK

说到云计算真是惭愧,一直没机会接触过。我看了你们的官方网站,阁下能否找个机会介绍一下云及相应的实现技术?

报表云计算XDOC是先行者,摸索前进。HttpDB就是一个实践的产品,希望有更多的云报表产品加进来。
XDOC是部署在新浪SAE上,整体感觉用起来不错,想了解可以加入群
http://xdoc.sinaapp.com
16 楼 freezingsky 2014-06-23  
xdoc 写道
freezingsky 写道
java中的跨平台,是需要共同遵守jvm规范的。我觉得这个情况与java是否跨平台没有关系。

准确来说是不同实现导致的,类似的问题我在java2D排版绘图中也遇到过,OpenJDK目前的实现真不怎么样。目前云计算环境中的JDK都采用OpenJDK

说到云计算真是惭愧,一直没机会接触过。我看了你们的官方网站,阁下能否找个机会介绍一下云及相应的实现技术?
15 楼 xdoc 2014-06-23  
freezingsky 写道
java中的跨平台,是需要共同遵守jvm规范的。我觉得这个情况与java是否跨平台没有关系。

准确来说是不同实现导致的,类似的问题我在java2D排版绘图中也遇到过,OpenJDK目前的实现真不怎么样。目前云计算环境中的JDK都采用OpenJDK
14 楼 freezingsky 2014-06-23  
java中的跨平台,是需要共同遵守jvm规范的。我觉得这个情况与java是否跨平台没有关系。
13 楼 xdoc 2014-06-23  
314649444 写道
最近新换了一个工作,新单位有用到加密算法, 在生产上没问题, 我本地加载不了证书,说是证书密钥长度限制,百度、Google了下发现时JCE的限制~~~~~~~~~~~~。最后重新下载了一个Unlimited Stength版本

http://www.oschina.net/p/bouncycastle
这个项目不错,HttpDB没有采用的原因是为了简单一些
12 楼 314649444 2014-06-23  
最近新换了一个工作,新单位有用到加密算法, 在生产上没问题, 我本地加载不了证书,说是证书密钥长度限制,百度、Google了下发现时JCE的限制~~~~~~~~~~~~。最后重新下载了一个Unlimited Stength版本
11 楼 minimu 2014-06-23  
这个和Java的安全性有什么关系啊?
自己事情没做到位
10 楼 xdoc 2014-06-23  
小野千帆 写道
和跨平台无关吧
按文中的描述只是sun jdk和openjdk的差异而已
其实差异很多的

跨jdk应该更合适一些
9 楼 xdoc 2014-06-23  
zhangthe9 写道
github的实现地址呢


https://github.com/twcus/AES_Java
8 楼 小野千帆 2014-06-23  
和跨平台无关吧
按文中的描述只是sun jdk和openjdk的差异而已
其实差异很多的
7 楼 xdoc 2014-06-23  
cs6641468 写道
SUN JDK好像从1.5开始就用SUN自己的JCE,与Open JDK使用JCE不同,稍微研究过JCE的人,都知道这是历史问题。换个JCE实现就好了。

以前一直用sun的jdk,没有发现
6 楼 xdoc 2014-06-23  
yixiandave 写道
oracle jdk和Android的也不一样
以前做RSA的时候发现的

所以加密解密尽量用第三方库吧

5 楼 zhangthe9 2014-06-23  
github的实现地址呢
4 楼 cs6641468 2014-06-23  
SUN JDK好像从1.5开始就用SUN自己的JCE,与Open JDK使用JCE不同,稍微研究过JCE的人,都知道这是历史问题。换个JCE实现就好了。
3 楼 yixiandave 2014-06-23  
oracle jdk和Android的也不一样
以前做RSA的时候发现的

所以加密解密尽量用第三方库吧
2 楼 xdoc 2014-06-23  
fair_jm 写道
我原来看过点java加密解密的艺术
加密算法限制出口的 商业版本中的算法可能会和开源版本的有些许差异吧...
具体我也不是很懂哈...
这种还是用第三方包来得省心

吃一堑长一智
1 楼 fair_jm 2014-06-22  
我原来看过点java加密解密的艺术
加密算法限制出口的 商业版本中的算法可能会和开源版本的有些许差异吧...
具体我也不是很懂哈...
这种还是用第三方包来得省心

相关推荐

    java配置GDAL库的大坑

    "Java 配置 GDAL 库的大坑" Java 配置 GDAL 库时容易遇到的问题是版本不一致导致的错误。GDAL 库是一个开源的地理信息系统(GIS)库,提供了对栅格和矢量数据的支持。在 Java 中使用 GDAL 库需要将其配置到 Java ...

    跨公网调用的大坑与架构优化方案

    ### 跨公网调用的大坑与架构优化方案 在当今高度互联的信息技术环境中,企业和服务提供商经常需要跨公网调用第三方服务。这种调用模式带来了诸多便利,但也隐藏着一些风险,尤其是当第三方服务出现问题时可能会对...

    大坑传统美食首推土鸡城,15年前上大坑,游客十之八九必.pdf

    【大坑传统美食首推土鸡城】是一个深受游客和美食爱好者欢迎的餐饮目的地,尤其在15年前,它已经成为台中大坑地区不可或缺的一部分。这个美食地标——“黑公羊土鸡城”,以其独特的土鸡料理和鲜美的地方特色菜肴而...

    jboss4.0.5-GA在使用RMI时的大坑

    标题中的“jboss4.0.5-GA在使用RMI时的大坑”指的是在使用JBOSS 4.0.5 GA版本时,如果涉及到远程方法调用(Remote Method Invocation, RMI)可能会遇到的一些常见问题或陷阱。在描述中提到了一个博客链接,虽然没有...

    搞定电脑故障 识破卖家大坑

    在电脑使用过程中,遇到故障是常有的事,无论是硬件问题还是软件问题,都需要我们具备一定的基础知识来识别和解决。本文将结合"搞定电脑故障 识破卖家大坑"的主题,探讨如何有效地处理电脑故障,避免被不诚信的卖家...

    大坑旅游资讯网.pptx

    【大坑旅游资讯网】是一个专门针对大坑地区旅游业的在线平台,旨在为游客提供全面、个性化的旅游信息。该网站由一个团队在杨子青老师的指导下开发完成,旨在整合大坑景点与周边商家信息,打造一个集电子地图、个性化...

    大坑仔水库工程施工设计方案.doc

    以上内容仅是《大坑仔水库工程施工设计方案》的部分要点,实际方案中还将详细涵盖施工组织设计、施工方法选择、进度计划、质量控制、安全管理、环境保护等诸多方面,全面指导水库建设的全过程。

    java可用的浏览器插件(jar包,附源代码)

    通过调整swt的jar包可适应不同平台下(如windows, linux, mac)32以及64位的JVM, 根目录的DJNativeSwing-SWTDemo.jar使用32位jdk运行可查看所有文档及程序代码案例 为何要2分,只是选了一个最少的档, 本人需要去下...

    数独解题算法,java代码,采用回溯+递归的做法,仅供学习

    数独的算法,把数独题按照二位数组的方式填入到代码中的original,并复制一个到sudoku,然后直接...提供了java的源代码,可以为长期受数独大坑困扰的人民服务,祝大家早日脱坑,也为学生朋友提供回溯+递归算法的学习。

    es6 state&props设置大坑1

    在React.js开发中,`state`和`props`是两个非常关键的概念,它们共同构成了组件的数据模型。在ES6的类语法中,处理`state`和`props`的方式与ES5有所不同,这可能会导致开发者遇到一些陷阱。让我们深入探讨一下这些...

    白帽子视角看待企业安全.pdf

    信息泄露事件可能会涉及敏感数据被爬取、上传至网盘或其他存储平台,以及管理系统中的弱口令问题。 在识别和分析企业安全漏洞时,白帽子(即专业的道德黑客)会从多个渠道收集信息,使用搜索引擎、网络空间、网盘...

    “大坑湖”沧桑巨变.docx

    “大坑湖”的变迁和华联商城的重组,虽然发生在不同的领域,但它们共同勾勒出中国经济发展的一个重要方面——市场化改革和创新策略在解决历史遗留问题、推动经济和社会持续繁荣中的关键作用。在这两个案例中,我们既...

    Jwt隐藏大坑,通过源码揭秘.doc

    总的来说,理解 JWT 的编码机制以及在 Asp.Net Core 中正确配置 JWT 验证是确保系统安全性和正确性的关键。开发者需要关注编码一致性、验证参数的设置以及正确应用认证中间件,以避免遇到文中提到的 "隐藏大坑"。

    数字化转型12个大坑.docx

    然而,企业在转型过程中可能会遇到诸多挑战,以下12个大坑是企业在数字化转型时需要特别警惕的: 1. **不了解转型本质和目的**:企业必须清楚地认识到,数字化转型不仅仅是技术升级,更关乎企业整体战略的调整。...

    Java lambda list转换map时,把多个参数拼接作为key操作

    Java lambda list转换map时,把多个参数拼接作为key操作是Java开发中常见的操作。下面将详细介绍该操作的实现方法和需要注意的两个大坑。 一、Java lambda list转换map时,把多个参数拼接作为key操作 Java lambda ...

    QT制作带有界面的静态库,并且调用时的一个大坑:可以获取窗口指针,但是show()时直接崩溃

    在QT编程中,创建带有界面的静态库是一个常见的需求,特别是在开发跨平台的应用程序时。然而,这个过程中可能会遇到一些陷阱,特别是在尝试显示界面时。本文将深入探讨标题和描述中提到的问题:“QT制作带有界面的...

    第三章 跳过运营数据分析和挖掘的“大坑”1

    本章将深入探讨聚类分析过程中需要注意的问题,以及如何妥善处理这些问题以跳过这些运营数据分析中的“大坑”。 在数据异常对聚类结果的影响方面,数据中的异常值或噪声点有可能极大地扭曲聚类结果。异常值可能表现...

    微信小程序向Java后台传输参数

    首先,微信小程序我使用的是微信web开发者...我的Java代码在运行时出现一个问题,就是找不到我这个类,一直报404错误,一个大坑 一定要在你的Java类上写上这个注解,否则tomcat无法找到它 后面运行报了405的错误,大

    AES:AES加密和解密。 实现Java服务器与客户端的通信c

    AES AES加密和解密。 实现Java服务器与客户端的通信c ... 另外,在线上有许多JAVA AES算法,其中许多都使用SecureRandom,如果您的代码中出现SecureRandom这样的东西,那么您将无法再在C中解决它。

    人生大坑:操别人的心太多,干自己的事太少.pdf

    以下是从该材料中提炼出的关键知识点: ### 1. 避免“人生大坑” - **盲目关注他人**:很多人习惯于关注别人的私事或者八卦新闻,而忽略了自身的发展。 - **缺乏行动力**:抱怨现状却不采取实际行动去改变,只是...

Global site tag (gtag.js) - Google Analytics