資源簡介
實驗報告+寫的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個文件信息
評論
共有 條評論