Java文件加密-spring属性文件加密

package com.happy.security.properties;

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.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.security.Key;

import java.security.NoSuchAlgorithmException;

import java.security.SecureRandom;

import java.security.Security;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

public class DESEncryptUtil {

public static Key createKey() throws NoSuchAlgorithmException {//创建密钥

Security.insertProviderAt(new com.sun.crypto.provider.SunJCE(), 1);

KeyGenerator generator = KeyGenerator.getInstance("DES");

generator.init(new SecureRandom());

Key key = generator.generateKey();

return key;

}

public static Key getKey(InputStream is) {

try {

ObjectInputStream ois = new ObjectInputStream(is);

return (Key) ois.readObject();

} catch (Exception e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

private static byte[] doEncrypt(Key key, byte[] data) {//对数据进行加密?

try {

Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");

cipher.init(Cipher.ENCRYPT_MODE, key);

byte[] raw = cipher.doFinal(data);

return raw;

} catch (Exception e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

public static InputStream doDecrypt(Key key, InputStream in) {//对数据进行解密?

try {

Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");

cipher.init(Cipher.DECRYPT_MODE, key);

ByteArrayOutputStream bout = new ByteArrayOutputStream();

byte[] tmpbuf = new byte[1024];

int count = 0;

while ((count = in.read(tmpbuf)) != -1) {

bout.write(tmpbuf, 0, count);

tmpbuf = new byte[1024];

}

in.close();

byte[] orgData = bout.toByteArray();

byte[] raw = cipher.doFinal(orgData);

ByteArrayInputStream bin = new ByteArrayInputStream(raw);

return bin;

} catch (Exception e){

e.printStackTrace();

throw new RuntimeException(e);

}

}

标签: 加密文件属性
上一页 1 2 下一页
------分隔线----------------------------
· 首页 · 注册

百鸣[Baiming.org]欢迎您 百鸣[Baiming.org]欢迎您~