激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - JAVA教程 - java使用des加密解密示例分享

java使用des加密解密示例分享

2019-11-07 12:49java技術網 JAVA教程

java使用des加密解密示例,適合java語言的所有平臺,與.net等平臺的加密解密兼容

代碼如下:


import java.security.Key;
import java.security.SecureRandom;
import java.security.spec.AlgorithmParameterSpec;

 

import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class Des
{
    public static final String ALGORITHM_DES = "DES/CBC/PKCS5Padding";
    private static Log log = LogFactory.getLog(Des.class);

    /**
     * DES算法,加密
     *
     * @param data 待加密字符串
     * @param key  加密私鑰,長度不能夠小于8位
     * @return 加密后的字節數組,一般結合Base64編碼使用
     * @throws CryptException 異常
     */
    public static String encode(String key,String data) throws Exception
    {
        return encode(key, data.getBytes());
    }
    /**
     * DES算法,加密
     *
     * @param data 待加密字符串
     * @param key  加密私鑰,長度不能夠小于8位
     * @return 加密后的字節數組,一般結合Base64編碼使用
     * @throws CryptException 異常
     */
    public static String encode(String key,byte[] data) throws Exception
    {
        try
        {
      DESKeySpec dks = new DESKeySpec(key.getBytes());

      SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
            //key的長度不能夠小于8位字節
            Key secretKey = keyFactory.generateSecret(dks);
            Cipher cipher = Cipher.getInstance(ALGORITHM_DES);
            IvParameterSpec iv = new IvParameterSpec("********".getBytes());
            AlgorithmParameterSpec paramSpec = iv;
            cipher.init(Cipher.ENCRYPT_MODE, secretKey,paramSpec);

            byte[] bytes = cipher.doFinal(data);
            return Base64.encode(bytes);
        } catch (Exception e)
        {
            throw new Exception(e);
        }
    }

    /**
     * DES算法,解密
     *
     * @param data 待解密字符串
     * @param key  解密私鑰,長度不能夠小于8位
     * @return 解密后的字節數組
     * @throws Exception 異常
     */
    public static byte[] decode(String key,byte[] data) throws Exception
    {
        try
        {
         SecureRandom sr = new SecureRandom();
      DESKeySpec dks = new DESKeySpec(key.getBytes());
      SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
            //key的長度不能夠小于8位字節
            Key secretKey = keyFactory.generateSecret(dks);
            Cipher cipher = Cipher.getInstance(ALGORITHM_DES);
            IvParameterSpec iv = new IvParameterSpec("********".getBytes());
            AlgorithmParameterSpec paramSpec = iv;
            cipher.init(Cipher.DECRYPT_MODE, secretKey,paramSpec);
            return cipher.doFinal(data);
        } catch (Exception e)
        {
//         e.printStackTrace();
            throw new Exception(e);
        }
    }

    /**
     * 獲取編碼后的值
     * @param key
     * @param data
     * @return
     * @throws Exception 
     * @throws Exception
     */
    public static String decodeValue(String key,String data) throws Exception 
    {
     byte[] datas;
     String value = null;

     datas = decode(key, Base64.decode(data));

  value = new String(datas);
  if (value.equals("")){
   throw new Exception();
  }
     return value;
    }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本欧美一区二区三区视频麻豆 | 亚洲成人精品国产 | 91在线观看 | 逼特逼视频在线观看 | 久久久久成人精品免费播放 | 日本黄色免费观看视频 | 91免费片| 久久99国产伦子精品免费 | 欧美成人午夜影院 | 免费高潮在线国 | 天天色狠狠干 | 亚洲性综合网 | 毛片免费观看视频 | 欧美大屁股精品毛片视频 | 日本黄色大片免费 | 亚洲一级电影在线观看 | 国产午夜免费 | 亚洲午夜精选 | 三人弄娇妻高潮3p视频 | 国产一区二区高清在线 | 精品伊人| 日韩视频在线观看免费视频 | 91社影院在线观看 | 免费在线成人网 | 国产精品久久久乱弄 | 久久精品日本一区 | 日韩高清影视 | 国产69精品99久久久久久宅男 | 欧美重口另类videos人妖 | 日本精品久久久久久草草 | 性少妇videosexfreexx| 色啪综合| 成人久久久久久久久 | 久久久人成影片一区二区三区 | 黄色毛片视频在线观看 | 色婷婷久久一区二区 | 4p嗯啊巨肉寝室调教男男视频 | fc2成人免费人成在线观看播放 | 性高跟鞋xxxxhd4kvideos | 黄色毛片免费视频 | 日产精品一区二区三区在线观看 |