java中加解密方式_使用java中进行加密和解密的方法代码

这篇文章详解使用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值