Android实现DES对字符串加密
- 博客分类:
- android
import java.io.UnsupportedEncodingException;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
public class test
{
public static void main(String[] args)
throws UnsupportedEncodingException
{
//待加密内容
String str = “我是中国人”;
//密码,长度要是8的倍数
String password = “alnton08″;
byte[] result = desCrypto(str.getBytes(), password);
System.out.println(“加密后内容为:” + new String(result));
//直接将如上内容解密
try
{
byte[] decryResult = decrypt(result, password);
System.out.println(“加密前内容为:” + new String(decryResult));
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
/**
* <对字符串进行Des加密,将字符串转化为字节数组解密>
*/
public static byte[] desCrypto(byte[] datasource, String password)
{
try
{
SecureRandom random = new SecureRandom();
DESKeySpec desKey = new DESKeySpec(password.getBytes());
//创建一个密匙工厂,然后用它把DESKeySpec转换成
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(“DES”);
SecretKey securekey = keyFactory.generateSecret(desKey);
//Cipher对象实际完成加密操作
Cipher cipher = Cipher.getInstance(“DES”);
//用密匙初始化Cipher对象
cipher.init(Cipher.ENCRYPT_MODE, securekey, random);
//现在,获取数据并加密
//正式执行加密操作
return cipher.doFinal(datasource);
}
catch (Throwable e)
{
e.printStackTrace();
}
return null;
}
/**
* <将加密的密文字节数组转化为明文字节数组>
*/
public static byte[] decrypt(byte[] src, String password)
throws Exception
{
// DES算法要求有一个可信任的随机数源
SecureRandom random = new SecureRandom();
// 创建一个DESKeySpec对象
DESKeySpec desKey = new DESKeySpec(password.getBytes());
// 创建一个密匙工厂
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(“DES”);
// 将DESKeySpec对象转换成SecretKey对象
SecretKey securekey = keyFactory.generateSecret(desKey);
// Cipher对象实际完成解密操作
Cipher cipher = Cipher.getInstance(“DES”);
// 用密匙初始化Cipher对象
cipher.init(Cipher.DECRYPT_MODE, securekey, random);
// 真正开始解密操作
return cipher.doFinal(src);
}
}
发表评论
-
ActivityGroup 替代tabActivity
2013-12-26 16:43 2498转载自http://www.cnblogs.com/answe ... -
Android实战技巧:为从右向左语言定义复杂字串
2013-09-04 17:37 1088我们所使用的语言,无论是中文还是英语, ... -
Android 5种方式存储数据:
2013-05-08 17:17 1059Android 提供了5种方式存储数据: --使用Shared ... -
widget的设计与应用
2013-02-02 16:27 8851.AppWidgetProviderInfo对象 ... -
Android系统主题设计和实现
2012-12-11 14:09 1402转自:http://www.apkbus.com/ ... -
android综合
2012-08-02 16:25 15511 ,手动设置横竖屏 TestA ... -
onSaveInstanceState
2012-08-01 17:40 680@Override //存储 public void onSa ... -
处理多个Activity
2012-07-20 09:40 670public class LifecycleManager ... -
bitmap 和drawable 互相转换
2012-07-19 13:37 621// bitmap to drawable; Drawable ... -
设置壁纸的三种方法
2012-07-19 11:46 23001111111111111111111111111111111 ... -
sqlite数据库处理时间问题 和 日期时间函数
2012-06-27 10:36 22784首先,sqlite数据库在时间 ... -
app缓存管理
2012-06-27 10:25 1015无论大型或小型应用, ... -
Uri、UriMatcher、ContentUris类使用介绍&&Android应用间数据共享之ContentProvider
2012-05-24 15:50 4378Android应用开发中我们会经常用Uri进行数据的处理,下面 ... -
getWidth()为0
2012-04-12 10:06 1963一般在刚开始开发android时,会犯一个错误,即在View的 ... -
自定义View 及使用
2012-04-05 14:08 743可能是一直都在做Web的富客户端开发的缘故吧,在接触Andro ... -
搜索手机联系人所有字段
2012-03-28 15:54 1386想取手机联系人的有效字段,但是苦于找不到API表示的字段变量, ... -
Andoid2.X各字段意义
2012-03-28 14:59 1207ContactsContract.Contacts.TIMES ... -
SMS发送流程
2012-03-20 18:07 1222发短信流程: 1 afterTextChanged{mWork ... -
Android telephony MMS 学习笔记
2012-03-14 13:32 2851转载 http://blog.csdn.net/tjy1985 ... -
Android_Mms源代码接受短信流程
2012-03-14 13:27 930短信来了之后framework会发送广播 “android.p ...
相关推荐
有个同事咨询我有关Android DES加密的相关实现,简单的实现了一下,今天来总结一下。 其他几种加密方式: •Android数据加密之Rsa加密 •Android数据加密之Aes加密 •Android数据加密之Des加密 •Android...
C#系统采用DES加密字符串,Android用DES解密就是不成功,从网上搜了许多源码都不能用,深入研究加密流程及算法是没有时间的。 网上搜的源码大都使用系统默认的加密模式,当我们对这些参数不了解时,就会浪费许多时间...
利用C语言编写的DES加密算法,能够对任意长度的字符数组进行加解密。通过编写相应的JNI接口文件能够很容易移植到Android平台,从而解决不同平台DES加解密结果不一致的问题。
这是一个完整的demo,实现了3DES加密解密,16进制数组和字符串之间的相互转换,可以直接运行,测试
DES加密,可用于加密中文,字符,请求数据的json串
简单的des加密方式加密、解密字符串
这个可以用做与android php iOS 三个平台,des加解密,支持中文 英文,长字符串,又问题,欢迎留言
这几天被公司临时拉到去做Android IM即时通信协议实现,大致看了下他们定的协议,由于之前没有参与,据说因服务器性能限制,只达成非明文传递,具体原因我不太清楚,不过这里用的加密方式是采用异或加密。...
Android数据加密技术主要分为DES加密和Base64加密两种加密方式,使用Des算法加密时,要先对字节数组加密,然后转调用Des加密算法的byteArr2HexStr方法,把字节数组转换为16进制值的字符串。此处不能直接用new String...
/** Created by liu on 2015/7/27. */ import java.security.Key; import java.security.spec....@param data 待加密字符串 @param key 加密私钥,长度不能够小于8位 @return 加密后的字节数组,一般结合Bas
加密数据传输一般以字符串形式,通常会用到BASE64,HEX转换工具。 一、JAVA方式 笔者搜集了上面提到的主要几种加解密方式及转换的实现,在此分享出来供大家参考,欢迎提意见,我会进一步完善~ 二、JNI...
Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到...这里使用的aes加密,然后再将字符串使用Base64编码,其中有增加向量,是为了提高加密破解难度,一段参数加密的方法如下: /**
使用您提供的字符串密钥对您指定的某些字节进行加密,因此解密速度很快。 ##用法###加密 Byte []encryptedDrawableBytes = Encryptor . encrypt(drawable); ###解密 Drawable result = Encryptor . decrypt...
字符串处理工具类。 SystemIntentUtil.java 系统Intent工具类,常用的系统Intent跳转函数,如:打电话、发短信等。 示例代码: - NetWork HttpDataRequest ...
将字符串写入文件 writeFileFromString 简单获取文件编码格式 getFileCharsetSimple 获取文件行数 getFileLines 指定编码按行读取文件到List readFile2List 指定编码按行读取文件到StringBuilder中 readFile2SB byte...
DES DES加密解密类 DataCleanManager 本应用数据清除管理器 DatabaseExportUtils 应用数据库导出工具类 DateUtil 日期操作工具类 DbHelper 数据库帮助类 DensityUtil 屏幕信息获取数值的转换 DeviceStatusUtils 手机...
流转换成字符串 串 螺纹池工具类 TimeUtils 吐司面包 用来计算显示的时间是多久之前 前方动画工具箱,提供简单的控制视图的动画的工具方法 视图控制 无线上网 窗口工具箱 实现的Zip工具 设置徽章 LogUti工具类 ...
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...