Heim >Java >javaLernprogramm >Code der Verschlüsselungs- und Entschlüsselungsmethode in Java

Code der Verschlüsselungs- und Entschlüsselungsmethode in Java

高洛峰
高洛峰Original
2017-03-22 17:17:031697Durchsuche

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

0c6dc11e160d3b678d68754cc175188a

Das obige ist der detaillierte Inhalt vonCode der Verschlüsselungs- und Entschlüsselungsmethode in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn