desede.java

来自「精通JSP-Web开发技术与典型应用(光盘)」· Java 代码 · 共 49 行

JAVA
49
字号
package ch22;
/*
安全程序 DESede/DES测试
*/
import java.security.*;
import javax.crypto.*;
public class  DESede{
private byte[] cipherByte;
public  String run(String s) {
//添加新安全算法,如果用JCE就要把它添加进去
Security.addProvider(new com.sun.crypto.provider.SunJCE());
String Algorithm="DES"; //定义 加密算法,可用 DES,DESede,Blowfish
String myinfo=s;
   try {
   //生成密钥
   KeyGenerator keygen = KeyGenerator.getInstance(Algorithm);
   SecretKey deskey = keygen.generateKey();

   //加密  
   Cipher c1 = Cipher.getInstance(Algorithm);
   c1.init(Cipher.ENCRYPT_MODE,deskey);
   cipherByte=c1.doFinal(myinfo.getBytes());
  
  }
   catch (java.security.NoSuchAlgorithmException e1) {e1.printStackTrace();}
   catch (javax.crypto.NoSuchPaddingException e2) {e2.printStackTrace();}
   catch (java.lang.Exception e3) {e3.printStackTrace();}

   return byte2hex(cipherByte);
  }
 public String byte2hex(byte[] b) //二进制转字符串
    {
     String hs="";
     String stmp="";
     for (int n=0;n<b.length;n++)
      {
       stmp=(java.lang.Integer.toHexString(b[n] & 0XFF));
       if (stmp.length()==1) hs=hs+"0"+stmp;
       else hs=hs+stmp;
        if (n<b.length-1)  hs=hs+":";
       if ((n!=0)&&(n%16==0)) hs=hs+"<br>";
      }
     return hs.toUpperCase();
    }

}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?