国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
(SMATRIX知識庫) DES/3DES加密算法源代碼 JAVA技術(shù)知識庫 Smatri...
 
smatrix  
*
* Project xxxx
* Package com.xxxx.utils
*
*/
package com.xxxxx.utils;

import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.security.NoSuchAlgorithmException;
import java.security.Security;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;

public class DES {
private String Algorithm = "DESede"; //"DESede" for Triple DES
private KeyGenerator keygen;
private SecretKey deskey;
private Cipher c;
private byte[] cipherByte;

public DES() {
init();
}
public DES(String filename) {
init(filename);
}
public SecretKey genKey() {
try {
  keygen = KeyGenerator.getInstance(Algorithm);
  deskey = keygen.generateKey();   //利用JavaBean的持久化將key保存為文件XXX.key
} catch (NoSuchAlgorithmException ex) {
  ex.printStackTrace();
} catch (Exception ex) {
  ex.printStackTrace();
}

return deskey;
}
/**
*
* @param filename
*/
public void init(String filename) {
// restore key
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
  FileInputStream fis = new FileInputStream(filename);
  fis = new FileInputStream(filename);
  ObjectInputStream ois = new ObjectInputStream(fis);
  deskey = (SecretKey) ois.readObject();
  ois.close();
  fis.close();
  c = Cipher.getInstance(Algorithm);
} catch (NoSuchAlgorithmException ex) {
  ex.printStackTrace();
} catch (NoSuchPaddingException ex) {
  ex.printStackTrace();
} catch (Exception ex) {
  ex.printStackTrace();
}
}
public void init() {
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
  keygen = KeyGenerator.getInstance(Algorithm);
  deskey = keygen.generateKey();

  c = Cipher.getInstance(Algorithm);
} catch (NoSuchAlgorithmException ex) {
  ex.printStackTrace();
} catch (NoSuchPaddingException ex) {
  ex.printStackTrace();
}
}

public byte[] encryptor(String str) {
try {
  c.init(Cipher.ENCRYPT_MODE, deskey);
  cipherByte = c.doFinal(str.getBytes());
} catch (java.security.InvalidKeyException ex) {
  ex.printStackTrace();
} catch (javax.crypto.BadPaddingException ex) {
  ex.printStackTrace();
} catch (javax.crypto.IllegalBlockSizeException ex) {
  ex.printStackTrace();
} catch (Exception ex) {
  ex.printStackTrace();
}
return cipherByte;
}

public String decryptor(byte[] buff) {
try {
  c.init(Cipher.DECRYPT_MODE, deskey);
  cipherByte = c.doFinal(buff);
} catch (java.security.InvalidKeyException ex) {
  ex.printStackTrace();
} catch (javax.crypto.BadPaddingException ex) {
  ex.printStackTrace();
} catch (javax.crypto.IllegalBlockSizeException ex) {
  ex.printStackTrace();
} catch (Exception ex) {
  ex.printStackTrace();
}
return (new String(cipherByte));
}
}

/*
* Project xxxx
* Package com.xxxx.utils
* Created on 2003-11-24
* Author Derys
*
*/
package com.xxxx.utils;

/**
*
*
*/
public class XXXDES {
private static XXXDES instance = new XXXDES();
public XXXDES() {

}
/**
*
* @param str
* @return
*/
public String encrypt(String str) {
StringBuffer buffer = new StringBuffer();
DES des = new DES("XXX.key");

byte[] en = des.encryptor(str);

for (int i = 0; i < en.length; i ) {
  buffer.append((char) en);
}
return buffer.toString();
}
/**
*
* @param str
* @return
*/
public String decrypt(String str) {
DES des = new DES("XXX.key");
byte[] en = new byte[str.length()];
for (int i = 0; i < str.length(); i ) {
  en = (byte) str.charAt(i);
}

String de = des.decryptor(en);
return de;
}
/**
*
* @param str
* @return
*/
public String replaceChar(String str) {
  StringBuffer buffer = new StringBuffer();

  int index = str.indexOf("‘");
  if (index == -1) {
  return str;
  }
  while (index > -1) {
  buffer.append(str.substring(0, index));
  buffer.append("‘‘");
  str = str.substring(index   1);
  index = str.indexOf("‘");
  }
  buffer.append(str);
  return buffer.toString();
}
/**
*
* @return
*/
public static XXXDES getInstance(){
if(instance == null){
  instance = new XXXDES();
}
return instance;
}
}
使用:
encryptedTextXXXDES.getInstance().encrypt("your plain text");
plainText=XXXDES.getInstance().decrypt("your encrypted text");
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
在JSP中實現(xiàn)DES加密解密的例子
【Java安全】關(guān)于Java中常用加密/解密方法的實現(xiàn)
java MD5
javaMail例子
java6 腳本引擎(一)
了解Java JCE的加密
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服