首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

加密和好密

2012-12-26 
加密和解密对配置文件进行加密:import java.security.InvalidKeyExceptionimport java.security.NoSuchAl

加密和解密

对配置文件进行加密:

import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import java.security.spec.InvalidKeySpecException;import javax.crypto.BadPaddingException;import javax.crypto.Cipher;import javax.crypto.IllegalBlockSizeException;import javax.crypto.KeyGenerator;import javax.crypto.NoSuchPaddingException;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import org.apache.commons.codec.binary.Base64;/** * 对网站的jdbc配置文件进行加密 */public class DESEnctypt {//生成秘密密钥并将其转换为字符串public static String getKeyString() {String str = "";try {KeyGenerator kg = KeyGenerator.getInstance("DES");kg.init(56);SecretKey secretKey = kg.generateKey();byte[] b = secretKey.getEncoded();str = Base64.encodeBase64String(b);} catch (Exception e) {e.printStackTrace();}return str;}//执行加密       "KWJ1EMKS76I=":密钥的字符串表现形式 public static String execEncrypt(String b2) throws InvalidKeyException, InvalidKeySpecException, NoSuchAlgorithmException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException {//String str = getKeyString();String str = "KWJ1EMKS76I=";byte[] b = Base64.decodeBase64(str);DESKeySpec dks = new DESKeySpec(b);SecretKeyFactory f = SecretKeyFactory.getInstance("DES");SecretKey key = f.generateSecret(dks);Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");cipher.init(Cipher.ENCRYPT_MODE, key);byte[] eData = cipher.doFinal(b2.getBytes());String s = Base64.encodeBase64String(eData);return s;}}

?

?

对配置文件进行解密:

import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import org.apache.commons.codec.binary.Base64;import org.apache.log4j.Logger;/** * 对jdbc.properties中的value进行解密 */public class DESDecrypt {/** * Logger for this class */private static final Logger logger = Logger.getLogger(DESDecrypt.class);public static String execDecrypt(String bt) {if (logger.isDebugEnabled()) {logger.debug("execDecrypt(String) - start");}try {String str = "KWJ1EMKS76I=";byte[] b = Base64.decodeBase64(str);DESKeySpec dkc = new DESKeySpec(b);SecretKeyFactory f = SecretKeyFactory.getInstance("DES");SecretKey key = f.generateSecret(dkc);Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");cipher.init(Cipher.DECRYPT_MODE, key);byte[] dData = cipher.doFinal(Base64.decodeBase64(bt));//String s = dData.toString();String s = new String(dData);if (logger.isDebugEnabled()) {logger.debug("execDecrypt(String) - end");}return s;} catch (Exception e) {logger.error("execDecrypt(String)", e);throw new RuntimeException(e);}}}

?

?

热点排行