• 大小: 1004KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-21
  • 语言: Java
  • 标签: des  网络安全  

资源简介

实验报告+写的servlet+jsp演示程序,压缩包里有源码和war包,根据自己的需求使用 实验报告+写的servlet+jsp演示程序,压缩包里有源码和war包,根据自己的需求使用

资源截图

代码片段和文件信息

package aes;

import java.security.Key;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;

public class AESCoder {

   private static final String KEY_ALGORITHM = “AES“;
   private static final String DEFAULT_CIPHER_ALGORITHM = “AES/ECB/PKCS5Padding“;//默认的加密算法

   public static byte[] initSecretKey() {

       //返回生成指定算法密钥生成器的 KeyGenerator 对象
       KeyGenerator kg = null;
       try {
           kg = KeyGenerator.getInstance(KEY_ALGORITHM);
       } catch (NoSuchAlgorithmException e) {
           e.printStackTrace();
           return new byte[0];
       }
       //初始化此密钥生成器,使其具有确定的密钥大小
       //AES 要求密钥长度为 128
       kg.init(128);
       //生成一个密钥
       SecretKey  secretKey = kg.generateKey();
       return secretKey.getEncoded();
   }

   private static Key toKey(byte[] key){
       //生成密钥
       return new SecretKeySpec(key KEY_ALGORITHM);
   }

   public static byte[] encrypt(byte[] dataString k) throws Exception{
       return encrypt(data k);
   }

   public static byte[] encrypt(byte[] databyte[] key) throws Exception{
       return encrypt(data keyDEFAULT_CIPHER_ALGORITHM);
   }

   public static byte[] encrypt(byte[] databyte[] keyString cipherAlgorithm) throws Exception{
       //还原密钥
       Key k = toKey(key);
       return encrypt(data k cipherAlgorithm);
   }

   public static byte[] encrypt(byte[] dataKey keyString cipherAlgorithm) throws Exception{
       //实例化
       Cipher cipher = Cipher.getInstance(cipherAlgorithm);
       //使用密钥初始化,设置为加密模式
       cipher.init(Cipher.ENCRYPT_MODE key);
       //执行操作
       return cipher.doFinal(data);
   }

   public static byte[] decrypt(byte[] dataString k) throws Exception{
       return decrypt(data k);
   }

   public static byte[] decrypt(byte[] dataKey key) throws Exception{
       return decrypt(data keyDEFAULT_CIPHER_ALGORITHM);
   }

   public static byte[] decrypt(byte[] databyte[] keyString cipherAlgorithm) throws Exception{
       //还原密钥
       Key k = toKey(key);
       return decrypt(data k cipherAlgorithm);
   }

   public static byte[] decrypt(byte[] dataKey keyString cipherAlgorithm) throws Exception{
       //实例化
       Cipher cipher = Cipher.getInstance(cipherAlgorithm);
       //使用密钥初始化,设置为解密模式
       cipher.init(Cipher.DECRYPT_MODE key);
       //执行操作
       return cipher.doFinal(data);
   }

   private static String  showByteArray(byte[] data){
       if(null == data){
           return null;
       }
       StringBuilder sb = new StringBuilder(“{“);
       for(byte b:data){
           sb.append(b).append(““);
       }
       sb.deleteCharAt(sb.length()-1);
       sb.append(“}“);
       return sb.toString();
   }

   public static void main(String[] args) throws Exception {
       byte[] key = initSecretKey();
       System.out.println(“key:“+showByteArray(key));
       String k = “0f1571c947d9e8590cb7add6af7f6798“; //

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-25 22:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\
     文件      634368  2018-07-25 22:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\des瀹為獙鎶ュ憡.doc
     目录           0  2018-07-25 22:19  __MACOSX\
     目录           0  2018-07-25 22:19  __MACOSX\des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\
     文件         187  2018-07-25 22:18  __MACOSX\des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\._des瀹為獙鎶ュ憡.doc
     文件      408772  2018-07-08 15:41  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1.war
     文件          86  2018-07-08 16:03  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\婕旂ず閾炬帴-瀹為獙2.txt
     目录           0  2018-07-25 22:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\
     目录           0  2018-07-08 16:16  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\
     文件         967  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\Stein.jsp
     目录           0  2018-07-08 16:16  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\meta-INF\
     文件          39  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\meta-INF\MANIFEST.MF
     目录           0  2018-07-08 16:16  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\WEB-INF\
     目录           0  2018-07-08 16:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\WEB-INF\lib\
     文件        1599  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\rsa.jsp
     文件        1377  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\des.jsp
     文件         829  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.classpath
     文件           8  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.gitignore
     目录           0  2018-07-08 16:16  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.settings\
     文件          49  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件         357  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.settings\org.eclipse.jdt.core.prefs
     文件         555  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.settings\.jsdtscope
     文件         471  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.settings\org.eclipse.wst.common.component
     文件           6  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.settings\org.eclipse.wst.jsdt.ui.superType.name
     文件         335  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件         878  2018-07-08 16:13  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\.project
     目录           0  2018-07-25 22:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\build\
     目录           0  2018-07-25 22:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\build\classes\
     目录           0  2018-07-08 16:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\build\classes\servlet\
     目录           0  2018-07-08 16:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\build\classes\tools\
     目录           0  2018-07-08 16:18  des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\build\classes\des\
............此处省略23个文件信息

评论

共有 条评论