자바 로 3des 암호 화 실현

2901 단어 자바
더 읽 기

import java.security.Key;

import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
/**
 *       
 */
public class DesEncrypt {
	private Key key;
	private static final String KEY_ALGORITHM = "DESede";
	private static final String CIPHER_ALGORITHM = "DESede/ECB/PKCS5Padding";
	
	/**
	 *       
	 */
	public DesEncrypt() {
		
	}
	/**
	 *     ,   Key
	 * @param keyStore
	 */
	public DesEncrypt(String keyStore) {
		this.toKey(keyStore);
	}

	/**
	 *    Key  
	 * @param keyText
	 * @return
	 */
	public void toKey(String keyText) {
		DESedeKeySpec dks;
		SecretKeyFactory factory =null;
		if(check(keyText)){
			try {
				dks = new DESedeKeySpec(keyText.getBytes());
				factory= SecretKeyFactory.getInstance(KEY_ALGORITHM);
				this.key = factory.generateSecret(dks);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * 
	 * @param   keyText
	 * @return           
	 */
	public boolean check(String keyText){
		boolean flag = false ;
		if(keyText!=null&&!"".equals(keyText.trim())){
			if(keyText.trim().length()>=24){
				flag = true ;
			}
		}
		return flag ;
		
	}
	
	/**
	 *   
	 * @param    inputText
	 * @return    outputText
	 */
	public String getEncString(String inputText) {
		Cipher cipher = null;
		String outputText = null ;
		try {
			cipher =Cipher.getInstance(CIPHER_ALGORITHM) ;
			cipher.init(Cipher.ENCRYPT_MODE, this.key) ;
			outputText= Base64.encode(cipher.doFinal(inputText.getBytes("UTF8")));
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			cipher= null;
		}
		return outputText;
	}


	/**
	 *   
	 * @param    inputText
	 * @return    outputText
	 */
	public String getDesString(String inputText) {
		Cipher cipher = null;
		String outputText = null ;
		try {
			cipher =Cipher.getInstance(CIPHER_ALGORITHM) ;
			cipher.init(Cipher.DECRYPT_MODE, this.key) ;
			outputText= new String(cipher.doFinal(Base64.decode(inputText)));
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			cipher= null;
		}
		return outputText;
	}

}

자바 는 Base 64 호출 후 자동 으로 줄 을 바 꿉 니 다. replace All ("\ r", "). replace All (", ") 을 추가 할 수 있 습 니 다.
  • Code.rar (994 Bytes)
  • 다운로드 횟수: 4
  • 좋은 웹페이지 즐겨찾기