• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Java
  • 标签: RSA  

资源简介

JAVA 实现的RSA加密算法,一个base64工具 ,一个RSA算法

资源截图

代码片段和文件信息

package cn.com.csii.utility;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
 
import org.apache.commons.codec.binary.base64;
 
/**
 * 


 * base64编码解码工具包
 * 


 * 


 * 依赖javabase64-1.3.1.jar
 * 


 * 
 * @author IceWee
 * @date 2012-5-19
 * @version 1.0
 */
public class base64Utils {
 
    /**
     * 文件读取缓冲区大小
     */
    private static final int CACHE_SIZE = 1024;
     
    /**
     * 


     * base64字符串解码为二进制数据
     * 


     * 
     * @param base64
     * @return
     * @throws Exception
     */
    public static byte[] decode(String base64) throws Exception {
     base64 base64In = new base64();
        return base64In.decode(base64.getBytes());
    }
     
    /**
     * 


     * 二进制数据编码为base64字符串
     * 


     * 
     * @param bytes
     * @return
     * @throws Exception
     */
    public static String encode(byte[] bytes) throws Exception {
     base64 base64In = new base64();
        return new String(base64In.encode(bytes));
    }
     
    /**
     * 


     * 将文件编码为base64字符串
     * 


     * 


     * 大文件慎用,可能会导致内存溢出
     * 


     * 
     * @param filePath 文件绝对路径
     * @return
     * @throws Exception
     */
    public static String encodeFile(String filePath) throws Exception {
        byte[] bytes = fileToByte(filePath);
        return encode(bytes);
    }
     
    /**
     * 


     * base64字符串转回文件
     * 


     * 
     * @param filePath 文件绝对路径
     * @param base64 编码字符串
     * @throws Exception
     */
    public static void decodeToFile(String filePath String base64) throws Exception {
        byte[] bytes = decode(base64);
        byteArrayToFile(bytes filePath);
    }
     
    /**
     * 


     * 文件转换为二进制数组
     * 


     * 
     * @param filePath 文件路径
     * @return
     * @throws Exception
     */
    public static byte[] fileToByte(String filePath) throws Exception {
        byte[] data = new byte[0];
        File file = new File(filePath);
        if (file.exists()) {
            FileInputStream in = new FileInputStream(file);
            ByteArrayOutputStream out = new ByteArrayOutputStream(2048);
            byte[] cache = new byte[CACHE_SIZE];
            int nRead = 0;
            while ((nRead = in.read(cache)) != -1) {
                out.write(cache 0 nRead);
                out.flush();
            }
            out.close();
            in.close();
            data = out.toByteArray();
         }
        return data;
    }
     
    /**
     * 


     * 二进制数据写文件
     * 


     * 
     * @param bytes 二进制数据
     * @param filePath 文件生成目录
     */
    public static void byteArrayToFile(byte[] bytes String filePath) throws Exception {
        InputStream in = new ByteArrayInputStream(by

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3647  2016-02-18 16:56  base64Utils.java
     文件       10507  2016-02-18 16:21  RSAUtils.java

评论

共有 条评论