使用java中进行加密和解密的方法代码
程序员文章站
2022-04-25 17:41:54
...
这篇文章详解使用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
<br>
以上就是使用java中进行加密和解密的方法代码的详细内容,更多请关注其它相关文章!
推荐阅读
-
使用Python进行AES加密和解密的示例代码
-
Java日期时间API系列30-----Jdk8中java.time包中的新的日期时间API类,减少时间精度方法性能比较和使用。
-
荐 Java中多线程的使用(超级超级详细)线程安全+线程锁原理解析+保证线程安全的三种方式 (同步代码块+同步方法+lock锁) 5
-
深入理解java中的static关键字(语法和使用方法特点等)
-
解密利用伪基站设备进行短信咋骗(附:伪基站的制作教程和使用方法)
-
java中的ArrayList集合的扩容和一些方法的使用:
-
一、编写高质量的代码—Java开发中通用的方法和准则(笔记)
-
一、编写高质量的代码—Java开发中通用的方法和准则(笔记)
-
PHP使用DES进行加密与解密的方法详解_PHP
-
PHP使用DES进行加密与解密的方法详解_PHP