- import java.io.IOException;
- import java.math.BigInteger;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import sun.misc.BASE64Decoder;
- import sun.misc.BASE64Encoder;
- /**
- * 常用加密算法工具类
- * @author cq
- */
- public class EncryptUtils {
- /**
- * 用MD5算法进行加密
- * @param str 需要加密的字符串
- * @return MD5加密后的结果
- */
- public static String encodeMD5String(String str) {
- return encode(str, "MD5");
- }
- /**
- * 用SHA算法进行加密
- * @param str 需要加密的字符串
- * @return SHA加密后的结果
- */
- public static String encodeSHAString(String str) {
- return encode(str, "SHA");
- }
- /**
- * 用base64算法进行加密
- * @param str 需要加密的字符串
- * @return base64加密后的结果
- */
- public static String encodeBase64String(String str) {
- BASE64Encoder encoder = new BASE64Encoder();
- return encoder.encode(str.getBytes());
- }
- /**
- * 用base64算法进行解密
- * @param str 需要解密的字符串
- * @return base64解密后的结果
- * @throws IOException
- */
- public static String decodeBase64String(String str) throws IOException {
- BASE64Decoder encoder = new BASE64Decoder();
- return new String(encoder.decodeBuffer(str));
- }
- private static String encode(String str, String method) {
- MessageDigest md = null;
- String dstr = null;
- try {
- md = MessageDigest.getInstance(method);
- md.update(str.getBytes());
- dstr = new BigInteger(1, md.digest()).toString(16);
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return dstr;
- }
- public static void main(String[] args) throws IOException {
- String user = "oneadmin";
- System.out.println("原始字符串 " + user);
- System.out.println("MD5加密 " + encodeMD5String(user));
- System.out.println("SHA加密 " + encodeSHAString(user));
- String base64Str = encodeBase64String(user);
- System.out.println("Base64加密 " + base64Str);
- System.out.println("Base64解密 " + decodeBase64String(base64Str));
- }
- }
转:http://cqjava.iteye.com/blog/486110
相关推荐
JAVA上加密算法的实现用例 JAVA上加密算法的实现用例
JAVA上加密算法的实现用例.doc
JAVA上加密算法的实现用例.rar
加密算法,java上的加密算法,对大家应该用帮助的一个加密算法。
java加密程序
JAVA上加密算法的实现用例 1.1. 单钥密码体制 单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。
北京交通大学密码学作业,第三次实验源码及实验报告,包括工程文件和测试用例
实用性强,非理论性的算法: CSDN-算法精华(收集) 麻省理工学院《算法导论》 JAVA上加密算法的实现用例 数据结构与算法分析学习笔记 C语言常用算法源代码 遗传算法从入门到精通 ...
Java平台开发 凯撒密码对字符及数字加密 文件中读取明文 从命令行读取密钥 测试用例及测试结果 实习总结
国密算法 java源码 移动 ID (MID) REST API 一、简介 Mobile-ID (MID) REST 接口提供了 Mobile-ID 主要用例的入口点: 数字签名 验证 提取最终用户的签名证书 1.1. 术语 Application Provider ——MID服务的提供者()...
java8 集合源码分析 JavaDemo 我的java演示代码 用于练习和记一些小demo 其中包含 项目 邮件的发送,附带文件的邮件发送 Zip文件压缩并加密 定时任务 Scheduled 事件监听 事件监听需要 触发器->事件源->监听器 触发器...
5.4.1 JUnit测试用例 72 5.4.2 JUnit测试套件 75 5.5 JUnit应用实例:数据库程序单元测试 77 5.6 本章小结 80 第6章 Java Web应用程序的开发 81 6.1 Java Web应用程序概述 81 6.2 Tomcat服务器的安装和配置 82 6.2.1...