package com.jh.hiv.test.service.test;
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.codec.binary.Base64;
import org.junit.Test;
public class test12 {
static final String TARGET = "changeme";
/*
* 不可逆算法 MD5
*/
@Test
public void Md5()
{
String str = DigestUtils.md5Hex(TARGET);
System.out.println("md5Hex: "+str);
}
/*
* 不可逆算法 SHA1
*/
@Test
public void Sha1()
{
String str = DigestUtils.shaHex(TARGET);
print("shaHex: "+str);
str = DigestUtils.sha256Hex(TARGET);
print("sha256Hex: "+str);
str = DigestUtils.sha384Hex(TARGET);
print("sha384Hex: "+str);
str = DigestUtils.sha512Hex(TARGET);
print("sha512Hex: "+str);
}
/*
* 可逆算法 BASE64
*/
@Test
public void Base64() throws UnsupportedEncodingException
{
//加密
byte[] b = Base64.encodeBase64(TARGET.getBytes(), true);
String str = new String(b,"utf-8");
print("BASE64: "+str);
//解密
byte[] b1 = Base64.decodeBase64(str);
print("解密之后内容为: "+new String(b1));
}
@Test
public void testList16() {
String name = "440889199302162657";
char f = name.charAt(0);
System.out.println(f);
if (name.length() <= 1) {
System.out.println("*");
} else {
// System.out.println(name.replaceAll("([\\u4e00-\\u9fa5]{1})(.*)", "$1" + createAsterisk(name.length() - 1)+name.substring(name.length()-1)));
System.out.println(name.substring(0,2)+ createAsterisk(name.length() - 1)+name.substring(name.length()-1));
//获取字符的位数name.substring(m,n) m代表从第几位开始索引,n代表长度
}
}
private String createAsterisk(int length) {
// TODO Auto-generated method stub
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < length; i++) {
stringBuffer.append("*");
}
return stringBuffer.toString();
}
public void print(Object obj)
{
System.out.println(obj);
}
}
打印输出:结果如下
shaHex: fa9beb99e4029ad5a6615399e7bbae21356086b3
sha256Hex: 057ba03d6c44104863dc7361fe4578965d1887360f90a0895882e58a6248fc86
sha384Hex: 7d49d02c105312b2b69de69141b27de1f4f4c202b4afb19d7ff7ab9849e9ce2da165a87eeec971bca66c8eb8a9243f5e
sha512Hex: f1891cea80fc05e433c943254c6bdabc159577a02a7395dfebbfbc4f7661d4af56f2d372131a45936de40160007368a56ef216a30cb202c66d3145fd24380906
md5Hex: 4cb9c8a8048fd02294477fcb1a41191a
BASE64: Y2hhbmdlbWU=
解密之后内容为: changeme
4
44*****************7
本文出自 “11647004” 博客,转载请与作者联系!
原文地址:http://11657004.blog.51cto.com/11647004/1909160