java私人封装的加密jar包以及使用
来源:互联网 发布:apache开源项目 编辑:程序博客网 时间:2024/06/02 08:09
此加密方法使用密匙所以加密之后的字段内容无法做模糊查询。
测试示例结果:
pom.xml 加入jar依赖:
<dependency><groupId>com.daixinlian</groupId><artifactId>daixinlian_commons</artifactId><version>1.0</version></dependency>
jar包内容:
package com.daixinlian.common.encrypt;import java.security.Key;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class DESUtils{ private static Key key; private static String KEY_STR = "abcdefg";//此处为一个公共密匙 static { try { KeyGenerator generator = KeyGenerator.getInstance("DESede"); SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG"); secureRandom.setSeed(KEY_STR.getBytes()); generator.init(secureRandom); key = generator.generateKey(); generator = null; } catch (Exception e) { throw new RuntimeException(e); } } public static String getEncryptString(String str) { if (str == null) { return null; } BASE64Encoder base64en = new BASE64Encoder(); try { byte[] strBytes = str.getBytes("UTF8"); Cipher cipher = Cipher.getInstance("DESede"); cipher.init(1, key); byte[] encryptStrBytes = cipher.doFinal(strBytes); return base64en.encode(encryptStrBytes); } catch (Exception e) { throw new RuntimeException(e); } } public static String getDecryptString(String str) { if (str == null) { return null; } BASE64Decoder base64De = new BASE64Decoder(); try { byte[] strBytes = base64De.decodeBuffer(str); Cipher cipher = Cipher.getInstance("DESede"); cipher.init(2, key); byte[] decryptStrBytes = cipher.doFinal(strBytes); return new String(decryptStrBytes, "UTF8"); } catch (Exception e) { e.printStackTrace(); } return str; }}
使用方法:
String encrypStr = DESUtils.getEncryptString("需要加密的字符");//返回加密字符串
String decryptStr = DESUtils.getDecryptString("需要解密的字符"); //返回明文数据
代码操作示例:
阅读全文
0 0
- java私人封装的加密jar包以及使用
- java的jar包加密及使用
- 使用eclipse进行封装成jar包以及包含其他jar包的技巧
- java jar包加密
- 在命令提示符下编译、运行java 以及使用jar命令制作可执行的jar包
- Java Web Service - java-json.jar包的使用以及JDBC的配置链接
- java封装json所需的相关jar包
- java端报表工具jxsl封装好的jar包
- JAVA加密解密要用到的JAR包
- [Java Eclipse] 使用Eclipse发布jar包以及制作exe文件的方法
- JAVA中CLASSPATH配置以及package和jar包的使用(如何import)
- java处理json使用的jar包
- java中jxl.jar包的使用
- java 中jar包的使用
- Java使用json需要的jar包
- java 使用的各种jar包介绍
- 关于JAVA jar包的使用作用
- java jar包加密保护解决方案
- 简单工厂模式
- Java中布尔类型操作 &=,|=与^= 的使用
- win10系统安装配置MySQL
- 常用的相似性度量总结 及 java和python实现计算 (不断更新)
- 点击一个按钮弹出两次问题
- java私人封装的加密jar包以及使用
- 未解之谜
- 查询网络流量向哪流出的(iftop)
- RMAN中基于copy的全备合并增备进行增量备份的方式
- JAVA反射机制
- 数据结构(C语言) 线性表 链式存储 循环链表
- Neo4j Cypher查询语言详解
- 虚拟机NAT模式下设置Centos7固定IP地址
- HorizontalScrollView 仿真 tabLayout