Home Java javaTutorial Encryption and decryption method code in java

Encryption and decryption method code in java

Mar 22, 2017 pm 05:17 PM
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
Copy after login


The above is the detailed content of Encryption and decryption method code in java. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Square Root in Java Square Root in Java Aug 30, 2024 pm 04:26 PM

Square Root in Java

Perfect Number in Java Perfect Number in Java Aug 30, 2024 pm 04:28 PM

Perfect Number in Java

Random Number Generator in Java Random Number Generator in Java Aug 30, 2024 pm 04:27 PM

Random Number Generator in Java

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Weka in Java

Armstrong Number in Java Armstrong Number in Java Aug 30, 2024 pm 04:26 PM

Armstrong Number in Java

Smith Number in Java Smith Number in Java Aug 30, 2024 pm 04:28 PM

Smith Number in Java

Java Spring Interview Questions Java Spring Interview Questions Aug 30, 2024 pm 04:29 PM

Java Spring Interview Questions

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Break or return from Java 8 stream forEach?

See all articles