国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 一個(gè)Java配置文件加密解密工具類分享

一個(gè)Java配置文件加密解密工具類分享

2019-11-20 15:06Java教程網(wǎng) JAVA教程

在 JavaEE 配置文件中,例如 XML 或者 properties 文件,由于某些敏感信息不希望普通人員看見(jiàn),則可以采用加密的方式存儲(chǔ),程序讀取后進(jìn)行解密

常見(jiàn)的如: 數(shù)據(jù)庫(kù)用戶密碼,短信平臺(tái)用戶密碼,系統(tǒng)間校驗(yàn)的固定密碼等。
本工具類參考了 《Spring.3.x企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)》一書 5.3節(jié)的實(shí)現(xiàn)。
完整代碼與注釋信息如下:

復(fù)制代碼代碼如下:


package com.cncounter.util.comm;

 

import java.security.Key;
import java.security.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class DESUtils {

 // 密鑰
 private static Key key;
 // KEY種子
 private static String KEY_STR = "encrypt@cncounter.com";
 // 常量
 public static final String UTF_8 = "UTF-8";
 public static final String DES = "DES";

 // 靜態(tài)初始化
 static{
  try {
   // KEY 生成器
   KeyGenerator generator = KeyGenerator.getInstance(DES);
   // 初始化,安全隨機(jī)算子
   generator.init(new SecureRandom( KEY_STR.getBytes(UTF_8) ));
   // 生成密鑰
   key = generator.generateKey();
   generator = null;
  } catch (Exception e) {
   throw new RuntimeException(e);
  }
 }

 /**
  * 對(duì)源字符串加密,返回 BASE64編碼后的加密字符串
  * @param source 源字符串,明文
  * @return 密文字符串
  */
 public static String encode(String source){
  try {
   // 根據(jù)編碼格式獲取字節(jié)數(shù)組
   byte[] sourceBytes = source.getBytes(UTF_8);
   // DES 加密模式
   Cipher cipher = Cipher.getInstance(DES);
   cipher.init(Cipher.ENCRYPT_MODE, key);
   // 加密后的字節(jié)數(shù)組
   byte[] encryptSourceBytes = cipher.doFinal(sourceBytes);
   // Base64編碼器
   BASE64Encoder base64Encoder = new BASE64Encoder();
   return base64Encoder.encode(encryptSourceBytes);
  } catch (Exception e) {
   // throw 也算是一種 return 路徑
   throw new RuntimeException(e);
  }
 }

 /**
  * 對(duì)本工具類 encode() 方法加密后的字符串進(jìn)行解碼/解密
  * @param encrypted 被加密過(guò)的字符串,即密文
  * @return 明文字符串
  */
 public static String decode(String encrypted){
  // Base64解碼器
  BASE64Decoder base64Decoder = new BASE64Decoder();
  try {
   // 先進(jìn)行base64解碼
   byte[] cryptedBytes = base64Decoder.decodeBuffer(encrypted);
   // DES 解密模式
   Cipher cipher = Cipher.getInstance(DES);
   cipher.init(Cipher.DECRYPT_MODE, key);
   // 解碼后的字節(jié)數(shù)組
   byte[] decryptStrBytes = cipher.doFinal(cryptedBytes);
   // 采用給定編碼格式將字節(jié)數(shù)組變成字符串
   return new String(decryptStrBytes, UTF_8);
  } catch (Exception e) {
   // 這種形式確實(shí)適合處理工具類
   throw new RuntimeException(e);
  }
 }
 // 單元測(cè)試
 public static void main(String[] args) {
  // 需要加密的字符串
  String email = "renfufei@qq.com";
  // 加密
  String encrypted = DESUtils.encode(email);
  // 解密
  String decrypted = DESUtils.decode(encrypted);
  // 輸出結(jié)果;
  System.out.println("email: " + email);
  System.out.println("encrypted: " + encrypted);
  System.out.println("decrypted: " + decrypted);
  System.out.println("email.equals(decrypted): " + email.equals(decrypted));
 }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久精品国产一区二区三区 | 国产成人自拍视频在线观看 | 91在线视频免费观看 | 精品国产乱码久久久久久1区2区 | 久久久精品国产 | 午夜视频在线观看网站 | 狠狠色狠色综合曰曰 | 伊人久久九| 先锋资源在线观看 | 青青草超碰在线 | 综合色网站 | 91精品免费 | 性欧美大战久久久久久久免费观看 | 制服诱惑一区二区 | 国产精品久久99 | 国产91精品一区二区绿帽 | 婷婷国产成人精品视频 | 午夜精品久久 | 中文字幕在线观看一区二区三区 | 日韩精品视频在线播放 | 国产精品18久久久久久首页狼 | 一级黄片毛片免费看 | 日韩欧美视频一区二区 | 亚洲精品成人av | 九九综合| 欧美在线亚洲 | a毛片 | 国产一级视频免费观看 | 日韩av中文字幕在线播放 | 欧美a级免费看 | 亚洲一区 中文字幕 | 可以免费在线观看av的网站 | 亚洲专区 变态 另类 | 麻豆一区二区三区 | 欧美日韩一区二区三区不卡视频 | 日韩在线视频一区 | 黄色一区二区三区 | 91麻豆精品国产91久久久资源速度 | 黄桃av| 色婷婷电影 | 国产亚洲人成网站在线观看 |