我是靠谱客的博主 辛勤红酒,最近开发中收集的这篇文章主要介绍Java实现BASE64Decoder编写加密和解码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

java.util.Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:

1)Basic编码
2)URL编码
3)MIME编码

如果没有BASE64Decoder这个jar下载的地址:http://download.csdn.net/download/alsyuan/10001152

Basic编码是标准的BASE64编码,用于处理常规的需求:输出的内容不添加换行符,而且输出的内容由字母加数字组成。下面是用法:

 

package com.lsy.md5;

 


import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.spec.SecretKeySpec;


import org.apache.commons.codec.binary.Base64;


import sun.misc.BASE64Decoder;


public class EncryptUtil {
private static final String KEY = "abcdefgabcdefg1234";  
    private static final String ALGORITHMSTR = "AES/ECB/PKCS5Padding";  
    public static String base64Encode(byte[] bytes){  
        return Base64.encodeBase64String(bytes);  
    }  
    public static byte[] base64Decode(String base64Code) throws Exception{  
        return new BASE64Decoder().decodeBuffer(base64Code);  
    }  
    public static byte[] aesEncryptToBytes(String content, String encryptKey) throws Exception {  
        KeyGenerator kgen = KeyGenerator.getInstance("AES");  
        kgen.init(128);  
        Cipher cipher = Cipher.getInstance(ALGORITHMSTR);  
        cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(), "AES"));  


        return cipher.doFinal(content.getBytes("utf-8"));  
    }  
    public static String aesEncrypt(String content, String encryptKey) throws Exception {  
        return base64Encode(aesEncryptToBytes(content, encryptKey));  
    }  
    public static String aesDecryptByBytes(byte[] encryptBytes, String decryptKey) throws Exception {  
        KeyGenerator kgen = KeyGenerator.getInstance("AES");  
        kgen.init(128);  


        Cipher cipher = Cipher.getInstance(ALGORITHMSTR);  
        cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), "AES"));  
        byte[] decryptBytes = cipher.doFinal(encryptBytes);  


        return new String(decryptBytes);  
    }  
    public static String aesDecrypt(String encryptStr, String decryptKey) throws Exception {  
        return aesDecryptByBytes(base64Decode(encryptStr), decryptKey);  
    }  




    /**
     * 测试
     * 
     */
    public static void main(String[] args) throws Exception {


        String content = "Test String么么哒";  //0gqIDaFNAAmwvv3tKsFOFf9P9m/6MWlmtB8SspgxqpWKYnELb/lXkyXm7P4sMf3e
        System.out.println("加密前:" + content);  


        System.out.println("加密密钥和解密密钥:" + KEY);  


        String encrypt = aesEncrypt(content, KEY);  
        System.out.println(encrypt.length()+":加密后:" + encrypt);  


        String decrypt = aesDecrypt(encrypt, KEY);  
        System.out.println("解密后:" + decrypt);  
    }

 

 

}

 

 

 

结果:

加密前:Test String么么哒
加密密钥和解密密钥:abcdefgabcdefg12
44:加密后:mxu4gLyEDe/C4SbZM2X+8+xo/5ax6pVJqvXyUNCdI08=
解密后:Test String么么哒

最后

以上就是辛勤红酒为你收集整理的Java实现BASE64Decoder编写加密和解码的全部内容,希望文章能够帮你解决Java实现BASE64Decoder编写加密和解码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部