Codec 提供了一些公共的编解码实现,比如Base64, Hex, MD5等等。

工具类

 package com.cxl.beanutil.util;

 import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils; import java.io.FileInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException; /**
*
*Codec提供了一些公共的编码实现
*/
public class Codec { /**
* 计算字符串的MD5
* @param str
* @return
*/
public static String strMD5(String str) {
str = DigestUtils.md5Hex(str);
System.out.println(str);
return str;
} /**
* 文件的MD5
* @param path
* @return
*/
public static String fileMD5(String path) {
try {
String str = DigestUtils.md5Hex(new FileInputStream(path));
System.out.println(str);
return str;
} catch (IOException e) {
e.printStackTrace();
}
return "";
} /**
* 编码
* @param string
* @return
*/
public static String encode(String string) {
Base64 base64 = new Base64();
try {
string = base64.encodeToString(string.getBytes("utf-8"));
System.out.println("Base64 编码后:" + string);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return string;
} /**
* 解码
* @param string
*/
public static void decode(String string) {
Base64 base64 = new Base64();
string = new String(base64.decode(string));
System.out.println("Base 解码后:" + string);
}
}

测试类

 package com.cxl.beanutil.test;

 import com.cxl.beanutil.util.Codec;
import com.sun.tools.javac.jvm.Code; /**
* Created by chaixinli on 2017/9/26.
*/
public class TestCodec { public static void main(String[] args) {
Codec.encode("doudou");
Codec.decode("ZG91ZG91"); Codec.strMD5("doudou");
Codec.fileMD5("/Users/doudou/Downloads/service.sh");
}
}

引入jar包

<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>

Codec入门的更多相关文章

  1. 【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012

    芯片是产业链上游重要的一个环节,一颗小小的芯片具有极高的技术含量和价值,半导体行业每年都会有一个各大厂商营业额的排名,除去2009年,常年盘踞在前三名位置的分别是英特尔,三星半导体和德州仪器,英特尔凭 ...

  2. 【DSP开发】帮您快速入门 TI 的 Codec Engine

    德州仪器半导体技术(上海)有限公司 通用DSP 技术应用工程师 崔晶 德州仪器(TI)的第一颗达芬奇(DaVinci)芯片(处理器)DM6446已经问世快三年了.继DM644x之后,TI又陆续推出了D ...

  3. 【DM8168学习笔记1】帮您快速入门 TI 的 Codec Engine

    http://www.ti.com.cn/general/cn/docs/gencontent.tsp?contentId=61575 德州仪器半导体技术(上海)有限公司 通用DSP 技术应用工程师 ...

  4. Netty入门(4) - 附带的ChannelHandler和Codec

    使用SSL/TLS创建安全的Netty程序 Java提供了抽象的SslContext和SslEngine,实际上SslContext可以用来获取SslEngine来进行加密和解密.Netty拓展了Ja ...

  5. JAVA通信系列二:mina入门总结

    一.学习资料 Mina入门实例(一) http://www.cnblogs.com/juepei/p/3939119.html Mina入门教程(二)----Spring4 集成Mina http:/ ...

  6. python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨

    python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...

  7. ElasticSearch实战-入门

    http://www.cnblogs.com/smartloli/ 1.概述 今天接着<ElasticSearch实战-日志监控平台>一文来给大家分享后续的学习,在<ElasticS ...

  8. HttpClient入门

    HttpClient入门 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 H ...

  9. MINA经典入门例子----Time Server

    原文地址 http://blog.sina.com.cn/s/blog_720bdf0501010b8r.html 貌似java的IO.NIO的入门例子都有相关的Time Server Demo.本例 ...

随机推荐

  1. PAT甲级——A1123 Is It a Complete AVL Tree【30】

    An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child sub ...

  2. USACO 2008 November Gold Cheering up the Cows /// MST oj24381

    题目大意: 输入n,p:n个点,p条路 接下来n行输入c[]:在各个点需要花费的时间 接下来p行输入u,v,w:u点到v点的路需要花费时间w 求经过所有点且最后回到起点的最少花费时间 https:// ...

  3. 使用APOC技术从MYSQL数据库导数据到Neo4j图数据库(JDBC)

                                                     Neo4j 数据导入 一.安装与部署Neo4j 直接在官网下载安装包安装,解压即可. 2.mysql ...

  4. CSDN的验证码,为什么要这样呢

    总是有连着的部分

  5. Idea 2018.2.5创建springboot项目依赖包没有的错误

  6. matlab之原始处理图像几何变换

    (一)图像几何变换理论知识 (1)图像的平移与比例 图像的平移很简单,平移前后的坐标分别为(x,y)和(x',y'),则满足的关系式为 x'= x +Tx: y'= y +Ty: 其中Tx与Ty分别为 ...

  7. Linux命令查看文件内容

    cat:一次性顺序显示文件所有内容和 cat filename tac:一次性倒序显示文件所有内容和 tac filename head:显示文件开头的若干行内容 head -n filename t ...

  8. python相关软件安装流程图解————————pycharm安装——————pycharm-professional-2018.3.1

    https://www.jetbrains.com/pycharm/download/#section=windows http://www.cnblogs.com/ceshi2016/p/91129 ...

  9. Linux网桥端口的arp问题

    Linux的brctl addif命令可以将一个接口加入到既有的网桥中,接下来,这个接口就成了brport,属于一个从属的接口,然而你还是可以看到它的,并且可以为它添加IP地址,然后route命令会显 ...

  10. Android基础控件SeekBar拖动条的使用

    1.简介 SeekBar继承ProgressBar,相关属性和三种不同状态下的触发方法: <!--<SeekBar--> <!--android:layout_width=&q ...