资源简介
实验报告+写的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\me
文件 39 2018-07-08 16:13 des瀹為獙鎶ュ憡+婕旂ず绋嬪簭\net_test1\WebContent\me
目录 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.xm
文件 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个文件信息
相关资源
- Spring 5 Design Patterns-Packt Publishing(20
- org.jdesktop.swingx
- DataUML Design 数据建模工具 1.5版本
- 《Design Patterns》中文版
- Java Design Patterns 高清原版pdf
- org.jdesktop.swingx.util.OSswingx-1.6.1.jar
- Hands-On Design Patterns with React Native
- Java讲义4thcodes.rar
- JAVA的综合加解密聊天程序,附带文档
- Concurrent Programming in Java: Design Princip
- Alexander.Shvets.Design.Patterns.Explained.Sim
- spacedesk0.9.41梦樱汉化.apk
- appcompat_v7和design.7z
- aspose slides for java 15.9.0 最新完美破解
- 基于Material Design 的界面设计,包含酷
- Android Design Support Library
- Android Material Design之TabLayout + Navigati
- Android Material Design 各控件demo
- design Jar 包的使用
- 本科毕业设计 DES密码系统的安全分析
- activiti-designer-5.18.0Eclipse插件离线安装
- 基于Android的图书馆管理系统
- aspose-slides-19.6.jar
- Aspose.words Aspose.cells Aspose.slides 破解版
-
java版aspose-slides相关jar和license.xm
l - JavaDesign.rar
- java利用Aspose.slides.jar将本地ppt文档转
- Professional Java EE Design Patterns
- Activiti的Eclipse插件activiti-designer-5.18
- aspose.word+cells+slides-20.4 - c.jar
评论
共有 条评论