解决方案 »
- android真机调试没有shared_pref目录
- 有android程序员想换工作的吗?地点南京
- 请问如何播放闹铃的铃声
- 安卓模拟器横屏之后 组件为什么没有旋转过来?
- 一个关于android 解析json数据中包含html标签 和样式的显示问题
- Intent.ACTION_PICK 后让gallery只显示 png图片???
- 动态修改非本Activity的布局的问题
- android如何实现在图片上像地图一样在指定的位置上定位
- Android studio 用File无法创建文件
- 求大神支招,数据库查询 cursor.moveToNext()直接报错,cursor不为空
- 传统嵌入式软件行业会消失吗
- 启动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加密以及解密。