DES加密
来源:互联网 发布:六韬淘宝天猫托管 编辑:程序博客网 时间:2024/05/21 07:01
记录用
学习资料来源:http://www.jianshu.com/p/b2d9f84054d4
代码:
package com.example.yangjie.jpushtest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Base64;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;public class MainActivity extends AppCompatActivity { String KEY = "63240000"; //DES秘钥长度必须是8位 String KEY_ALGORITHM = "DES"; // 秘钥算法 String CIPHER_ALGORITHM = "DES/ECB/PKCS5Padding"; // 加密算法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String data = "加密数据"; String encodeData = encode(data); String decodeData = decode(encodeData); System.out.println(data); System.out.println(encodeData); System.out.println(decodeData); } // 加密 private String encode(String data) { // 秘钥 参数:1.key的byte 2.加密算法 SecretKey secretKey = new SecretKeySpec(KEY.getBytes(), KEY_ALGORITHM); // 密码实例 try { Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, secretKey); byte[] result = cipher.doFinal(data.getBytes()); return Base64.encodeToString(result, Base64.DEFAULT); } catch (Exception e) { e.printStackTrace(); } return null; } // 解密 private String decode(String data) { byte[] result = Base64.decode(data, Base64.DEFAULT); SecretKey secretKey = new SecretKeySpec(KEY.getBytes(), KEY_ALGORITHM); try { Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, secretKey); return new String(cipher.doFinal(result)); } catch (Exception e) { e.printStackTrace(); } return null; }}
预期结果:
I/System.out: 加密数据I/System.out: KknEFGFXFbnPjnaNb8FmpA==I/System.out: 加密数据
0 0
- DES加密
- DES加密
- DES加密
- DES加密
- DES加密
- DES加密
- DES加密
- DES 加密
- DES加密
- DES加密
- DES 加密
- DES加密
- DES加密
- DES加密
- DES加密
- DES加密
- des加密
- DES加密
- 国外电子书免费下载网站
- 用jQuery实现选tab项卡效果
- eclipse下调试jenkins插件
- BigDecimal格式化小数
- List,map排序
- DES加密
- 通知栏显示富文本和大图片
- OpenCV的Delaunay三角剖分和Voronoi图的实现
- 警告LNK4272库计算机类型“X86”与目标计算机类型“x64”冲突
- 电子工程师最关心的12个问题
- oracle插入数据对比
- 在实际应用中认识IO模型
- MJ-CALayer简析
- leetcode 10 Regular Expression Matching