这篇文章详解使用java中进行加密和解密的方法代码
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
Atas ialah kandungan terperinci 使用java中进行加密和解密的方法代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!