一个关于同个程序不同平台不同结果 希望各位帮我看看 why 本帖最后由 u010756701 于 2013-05-19 15:59:01 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那是因为不同平台的DES算法采用不同的模式,你这句话ncryptCipher = Cipher.getInstance("DES");在不同平台下获取的值是不一样的,导致加密结果不一样,你需要指明DES具体类型,比如Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); 你可以看看这篇文章, http://blog.csdn.net/randyjiawenjie/article/details/6617225这篇文章有原理介绍,如果是开发中,我推荐你使用http://www.iteye.com/topic/1127949这篇文章的des加密算法 谢谢您的解答,我还想问 我在android环境下 该怎么改 才能跟 jdk环境下 结果一样了? 主要是中文加密后,不一样!英文数字都一样!我写的是jdk环境下的DES加密 别人那边应该通过一样的算法解密,所以我就不能按照你的推荐方式去更改加密了。麻烦你帮我看看 怎么在android的环境中怎样改?才得到与JDK一样 谢谢了 你最好用引用的方式回复帖子,不然别人根本收不到提示。要不是我今天看了帖子,我现在都不知道你回复了我看了看的代码,我知道你的jdk环境是在windows下,windwos系统中文版采用GBK编码,而android系统采用UTF8编码,在你strIn.getBytes()这种方式传参的时候就注定了传入的byte数组不一样,“测试”这个字符串,你在windows下打印为4个字节,而在android下打印6个字节。你传入的时候就有问题,那么加密结果不用说就有问题了,如果你把代码弄到linux平台,又有问题了。个人感觉你的代码就没什么通用性,还是多参照别人的例子,然后在别人基础上改进。至于你说“我写的是jdk环境下的DES加密 别人那边应该通过一样的算法解密”这个问题,我给你网址里面就有DES加密以及解密。 android如何实现摇晃复制功能?大牛请进。。 如何立即关闭屏幕,但cpu不休眠? android新手,求各种好点的视频。 Android4.0上PopupWindow.update()的不解现象 怎么看Logcat 小妹请教ListView滚动翻页问题!代码已写,请改正! android中IntentFilter的检测机制 安卓问题 SurfaceView 内画一个圆形,如何添加点击事件呢? adb logcat命令行如何查看某个进程的log信息? (已知进程的ID 和 有APK应用的源码) 传统嵌入式软件行业会消失吗 启动Activity的问题,实在解决不了,求大神帮忙!
你这句话ncryptCipher = Cipher.getInstance("DES");在不同平台下获取的值是不一样的,导致加密结果不一样,你需要指明DES具体类型,比如
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); 你可以看看这篇文章, http://blog.csdn.net/randyjiawenjie/article/details/6617225这篇文章有原理介绍,如果是开发中,我推荐你使用http://www.iteye.com/topic/1127949这篇文章的des加密算法
我看了看的代码,我知道你的jdk环境是在windows下,windwos系统中文版采用GBK编码,而android系统采用UTF8编码,在你strIn.getBytes()这种方式传参的时候就注定了传入的byte数组不一样,“测试”这个字符串,你在windows下打印为4个字节,而在android下打印6个字节。你传入的时候就有问题,那么加密结果不用说就有问题了,如果你把代码弄到linux平台,又有问题了。个人感觉你的代码就没什么通用性,还是多参照别人的例子,然后在别人基础上改进。至于你说“我写的是jdk环境下的DES加密 别人那边应该通过一样的算法解密”这个问题,我给你网址里面就有DES加密以及解密。