Java課程設(shè)計報告 加密和解密.doc
《Java課程設(shè)計報告 加密和解密.doc》由會員分享,可在線閱讀,更多相關(guān)《Java課程設(shè)計報告 加密和解密.doc(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、目 錄: 前 言 ..................................................................................................................1 一、題目分析 .........................................................................................................2 1.1 課程設(shè)計的要求和內(nèi)容(包括原始數(shù)據(jù)、技術(shù)要求、工作要求) ..........................
2、....2 1.2 團隊任務(wù)分析 2 1.3 相關(guān)知識介紹 .........................................................................................................................2 二、概要設(shè)計 .........................................................................................................3 2.1 抽象數(shù)據(jù)類型的定義 ..................
3、....................................................................................3 2.2 各程序模塊之間的層次(調(diào)用)關(guān)系 ...............................................................................4 三、詳細設(shè)計 .........................................................................................................
4、5 3.1 程序流程圖 ...................................................................................................................5 3.2 圖形用戶界面模塊 .........................................................................................................6 3.3 加密操作模塊 ........................................
5、.........................................................................7 3.4 解密操作模塊 .................................................................................................................7 3.5 文件保存模塊 ........................................................................................
6、.........................7 3.6 文件選擇模塊 ................................................................................................................8 四、調(diào)試分析 ....................................................................................................................9 4.1 對設(shè)計與實現(xiàn)的回顧討論和分析 ....
7、.............................................................................10 4.2 算法的時空分析 ...........................................................................................................11 4.3 經(jīng)驗和體會 ........................................................................................
8、...........................12 五、測試結(jié)果 .......................................................................................................12 5.1 加密 .............................................................................................................................12 5.2 解密 ...............
9、..............................................................................................................15 六、主要參考資料 ..............................................................................................16 七、附錄 ............................................................................
10、..................................16 課程設(shè)計說明書用紙 - 1 - 前 言 隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,人們的個人信息、網(wǎng)絡(luò)間的文件傳遞、電子商 務(wù)等方面都需要大力的保護,文件加密技術(shù)也就隨之產(chǎn)生。文件的加密主要是 由加密算法實現(xiàn),加密算法有多種,常見的有 RSA、DES、MD5 等。但是這些算 法雖然原理簡單,但具體實現(xiàn)起來卻非常繁瑣復(fù)雜,故而本程序設(shè)計對文件的 加密使用的是最基礎(chǔ)的異或加密算法。 Java 語言具有簡單、安全、可移植、面向?qū)ο?、健壯、多線程、體系結(jié)構(gòu) 中立、解釋執(zhí)行、高性能、分布式和動態(tài)等主要特點。Java 是一門很優(yōu)秀的編 程語言,是
11、目前軟件設(shè)計中極為健壯的編程語言。Java 不僅可以用來開發(fā)大型 的應(yīng)用程序,而且特別適合于 Internet 的應(yīng)用開發(fā)。Java 確實具備了“一次 寫成,處處運行”的特點,所以,Java 已經(jīng)成為網(wǎng)絡(luò)時代最重要的編程語言之 一。本程序充分利用 Java 語言的特點,針對當(dāng)下社會比較重視的文件加密,設(shè) 計了本程序。 使用本程序可以對 txt,word 等多種文件進行加密解密,使用便捷實用,功 能完善, 滿足了用戶對文件安全性的需求。 關(guān)鍵詞: JAVA ; 加密; 解密; 課程設(shè)計說明書用紙 - 2 - 一、題目分析 1.1 課程設(shè)計的要求和內(nèi)容(包括原始數(shù)據(jù)、技術(shù)要求、工作要 求) 基本要
12、求: 1.用圖形用戶界面實現(xiàn),建立菜單。 2. 給定任意一個文本文件,進行加密,生成另一個文件。 3對加密后的文件還原。 1.2 團隊任務(wù)分析 分析如下: 1向圖形用戶界面中添加組件。 2設(shè)置各個組件的布局。 3.添加窗口事件。 4. 查找讀入及寫入文件,并顯示。 5.加密功能實現(xiàn)。 6.解密功能實現(xiàn)。 其中:團隊成員及其負(fù)責(zé)的任務(wù)如下: 馮治波:圖形用戶界面 吳祎筱和陳冬姣:文本加密 高峻輝:文本的還原(解密) 1.3 相關(guān)知識介紹 本程序采用傳統(tǒng)的異或加密算法,沒有采用 DES 算法,但對于世界上公認(rèn) 的 DES 是一種分組加密算法,是以 64 位為分組對數(shù)據(jù)加密。64 位一組
13、的明文 從算法的一端 輸入,64 位的密文從另一端輸出。密鑰的長度為 56 位(密鑰通 常表示為 64 位的數(shù),但每個第 8 位都用作奇偶檢驗,可以忽 略)。密鑰可以是 任意的 56 位數(shù),且可以在任意的時候改變。 本程序采用的算法與 DES 相同的 課程設(shè)計說明書用紙 - 3 - 一點是:都是一個對稱算法:及加密和解密用的是同一個算法。 我們也許知道公認(rèn)的 DES 算法的工作過程,那就是:若 Mode 為加密,則用 Key 對數(shù)據(jù) Data 進行加密,生成 Data 的密碼 形式(64 位)作為 DES 的輸出結(jié) 果;若 Mode 為解密,則用 Key 對密碼形式的數(shù)據(jù) Data 解密,還
14、原為 Data 的 明碼形式(64 位)作為 DES 的輸出結(jié)果。但是,重要的是本程序首先經(jīng)“打開” 菜單項,進入文件選擇模塊,讀取字符流,輸出文本文檔后,在一個數(shù)組中, 對字符進行異或運算,從而達到加密的效果。 在通信網(wǎng)絡(luò)的兩端,雙方約定了一致的 Key,在通信的源點用 Key 對核心 數(shù)據(jù)進行 DES 加密 ,然后以密碼形式通過公共通信網(wǎng)(如電話網(wǎng))傳輸?shù)酵ㄐ?網(wǎng)絡(luò)的終點,數(shù)據(jù)達到目的 地后,用同樣的 Key 對密碼數(shù)據(jù)進行解密,便再現(xiàn) 了明碼形式的核心數(shù)據(jù)。這樣便保證了核 心數(shù)據(jù)(如 PIN,MAC 等)在公共通 信網(wǎng)中傳輸?shù)陌踩院涂煽啃?。通過定期在通信網(wǎng)絡(luò)的源 端和目的端同時改用 新
15、的 Key,便能更進一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融界交易網(wǎng) 絡(luò)的流 行作法。 簡單地說,DES 算法只不過是加密的其中一種技術(shù),通過一個初始置換, 將明文分組分成左半部分和右半部分,各 32 位 長。然后進行 16 輪相同的運算, 這些相同的運算被稱為函數(shù) f,在運算過程中數(shù)據(jù)和密 鑰相結(jié)合。經(jīng)過 16 輪運 算后左、右部分在一起經(jīng)過一個置換(初始置換的逆置換) ,這樣算 法就完成 了。 本程序雖然沒有采用此算法,而是采用眾所周知的與 DES 有相似之處的 異或算法,實際上是降低了程序的復(fù)雜度,使其更清晰,但功能依舊很強大, 可見優(yōu)勢也是很多的。 二、概要設(shè)計 2.1 抽象數(shù)據(jù)類型的定義
16、 2.1.1 程序所需要引入的包: import java.awt.*; //包含用于創(chuàng)建用戶界面和繪制圖形圖像的 所有類。 課程設(shè)計說明書用紙 - 4 - import java.awt.event.*; //提供處理由 AWT 組件所激發(fā)的各類事件 的接口和類。 import javax.swing.*; //提供一組“輕量級” (全部是 Java 語言)組 件,盡量讓這些組件在所有平臺上的工作方式都相同。 import java.io.*; //通過數(shù)據(jù)流、序列化和文件系統(tǒng)提供系統(tǒng)輸 入和輸出。 2.1.2 其他定義: new FlowLayout()
17、對文件加密器對話框采用 FlowLayout 管理器。 new ActionListener() 對文件的加密和解密設(shè)置事件監(jiān)聽器。 2.2 各程序模塊之間的層次(調(diào)用)關(guān)系 2.2.1 模塊定義 圖形用戶界面模塊: 添加各種所需組件,設(shè)置窗口事件。 加密操作模塊: 根據(jù)選擇的文本文件,在瀏覽窗口中顯示后,進行加密,顯示在“文本瀏 覽窗口”中。 解密操作模塊: 同加密模塊一樣,由密文的保存路徑,打開,進行解密,顯示在“文本瀏 覽窗口”中。 文件選擇模塊: 選擇需要加密或解密的文件。 文件保存模塊: 選擇保存路徑,保存需要加密或解密的文件。 2.2.2 層次(調(diào)用) 關(guān)系 根據(jù)以上各程序模塊
18、的定義,可以大致畫出各模塊的層次調(diào)用關(guān)系,由文 件加密器模塊開始調(diào)用,直到解密模塊調(diào)用為止。如下圖 2-2-2 所示。 課程設(shè)計說明書用紙 - 5 - 文件加密器模塊 文件選擇模塊 加密操作模塊 文件保存模塊 解密操作模塊 圖 2-2-2 層次(調(diào)用)關(guān)系 三、詳細設(shè)計 3.1 程序流程圖 該程序的模塊調(diào)用十分簡單明了,所以主程序的運行也很清晰,以下就是 主程序的詳細流程圖,如圖 3-1 所示 課程設(shè)計說明書用紙 - 6 - 開始 彈出文件加密器對話框 點擊“文件”菜單下的 “打開” ,獲得文件 對顯示在瀏覽窗口的 “文件”加密 生成加密文件 點擊“ 保存”
19、,選擇路徑, 生成新文件,并以“.txt”命 名 點擊“文件”菜單下的 “打開” ,獲得加密后的 文件 對顯示在瀏覽窗口的 “文件”解密 生成解密文件 結(jié)束 圖 3-1 主程序流程圖 3.2 圖形用戶界面模塊 在圖形用戶界面,設(shè)置兩個面板,并分別設(shè)置顯示其組件的布局。設(shè)置兩個 菜單項,分別為“打開”和“保存” ;設(shè)置兩個按鈕,分別為“加密”和“解密” ;創(chuàng)建一個文本區(qū),用一個標(biāo)簽注明“文件瀏覽窗口” ,這就是整個圖形用戶界 面。 此外,還添加了一個窗口事件 windowClosing,可以關(guān)閉運行的程序。 課程設(shè)計說明書用紙 - 7 - 窗口事件的代碼實現(xiàn): add
20、WindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); 3.3 加密操作模塊 本程序采用簡單的加密算法,即把從文本區(qū)獲得的文本文件,初始化,存 放到一個數(shù)組中,然后進行異或運算,把結(jié)果重新存放于該數(shù)組中,從而顯現(xiàn) 在“文件瀏覽窗口”中。 代碼實現(xiàn): if(e.getSource()==button1) char a=texta.getText().toCharArray();/*把 texta 中獲得的 文本,進行初始化,與原字符串長度相等,并
21、將該字符串對象的全部字符復(fù)制 到該數(shù)組 a中*/ texta.setText(null); int n; char secret= ; for(int i=0;i 22、rce()==button2) char a=texta.getText().toCharArray(); texta.setText(null); int n; char secret= ; for(int i=0;i 23、計說明書用紙 - 9 - if(e.getSource()==itemSave)//查找寫入的文件 filedialog_save.setVisible(true); if(filedialog_save.getFile()!=null) try File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile()); FileWriter tofile=new FileWriter(file);//寫入字符流 BufferedWriter out=new BufferedWriter(tofile); o 24、ut.write(texta.getText(),0,(texta.getText()).length()); out.close(); tofile.close(); catch (IOException e2) 3.6 文件選擇模塊 同上個文件保存模塊類似,依舊在選擇菜單項“打開”后,查找讀入文件, 讀取字符流,彈出“打開對話框” ,從而可實現(xiàn)獲取文件。 出口值:被選文件的路徑 代碼實現(xiàn): public void actionPerformed(ActionEvent e)//查找讀入文件 if(e.getSource()==itemOpen) 課程設(shè)計說明書用紙 - 1 25、0 - filedialog_load.setVisible(true); texta.setText(null); String s; if(filedialog_load.getFile()!=null) try File file=new File(filedialog_load.getDirectory(),filedialog_load.getFile()); FileReader file_reader=new FileReader(file);//讀取 字符流 BufferedReader in=new BufferedReader(file_reader); while( 26、(s=in.readLine())!=null) texta.append(s+n); in.close(); file_reader.close(); catch (IOException e1) 四、調(diào)試分析 4.1 對設(shè)計與實現(xiàn)的回顧討論和分析 在程序設(shè)計之初,考慮的是如何實現(xiàn) DES 算法,但發(fā)現(xiàn) DES 算法對于本次 小程序來說,的確過于繁瑣,但當(dāng)我們發(fā)現(xiàn)采用簡化后的 DES 算法----異或算 課程設(shè)計說明書用紙 - 11 - 法也可實現(xiàn)本功能,所以以后大大減少了工作量,可以說用 Java 語言是程序?qū)?現(xiàn)的一個成功之處。Java 語言具有簡單、安全、可移植、面向?qū)ο蟆⒔?/p>
27、壯、多 線程、體系結(jié)構(gòu)中立、解釋執(zhí)行、高性能、分布式和動態(tài)等主要特點。而且, 我覺得隨著科技的不斷進步,Java 語言的優(yōu)越性會不斷地被挖掘出來,因為 Java 語言也是有生命的,它是不斷被人們的需求演變的越來越強大,這些,我 覺得不言而喻。但往后,我想只有在不斷的使用以后才能體會到,在發(fā)現(xiàn) Java 擁有秘密密鑰工廠后更是感受到它的強大。Java 的 JDK 幫助文檔對于使用 Java 編程是非常有幫助的,在我們編程過程中,遇到的一些不清楚的地方,都是靠 它才得以解決,同時對 Java 語言的了解也更方便、深入了。 程序利用 Java 圖形界面設(shè)計了一個方便用戶操作的窗口,使得程序運行的 時 28、候更想是個封裝好的運用程序,不過我知道離這個還是有很大距離的,而程 序所要提升空間非常大,現(xiàn)在界面所能實現(xiàn)的也就幾個操作而已。但我們一致 認(rèn)為:如果程序要再做的強大點,可以引入其他的加密算法共用戶選擇,還可 以設(shè)計成同時對多個文件進行加密,不過這只能放到我們課下對此進行更深一 步的研究了。 程序的每個模塊實現(xiàn)的功能還算完整,層次間的調(diào)用還是比較清晰的,各 個功能也得到了基本的實現(xiàn)。 4.2 算法的時空分析 算法的時空分析,其實就是指算法的空間復(fù)雜度(包括時間復(fù)雜度和空間 復(fù)雜度) ,其 作 用 : 時 間 復(fù) 雜 度 是 度 量 算 法 執(zhí) 行 的 時 間 長 短 ; 而 空 間 復(fù) 雜 度 29、是 度 量 算 法 所 需 存 儲 空 間 的 大 小 。 程 序 的 時 間 復(fù) 雜 度 理 論 上 是 算 不 出 來 的 , 必 須 經(jīng) 過 必 須 上 機 運 行 測 試 才 能 知 道 。 但 我 們 不 可 能 也 沒 有 必 要 對 每 個 算 法 都 上 機 測 試 。 但 我 們 可 以 知 道 本 算 法 其 實 是 DES 算 法 的 簡 化 , 所 以 , 肯 定 只 需 知 道 哪 個 算 法 花 費 的 時 間 多 , 哪 個 算 法 花 費 的 時 間 少 就 可 以 了 , 并 且 , 一 個 算 法 花 費 的 時 間 與 算 法 中 語 句 的 執(zhí) 行 次 30、數(shù) 成 正 比 例 , DES 對 64 位的明文分組進行操作,通過一個 初始置換,將明文分組成左半部分 Li 和右半部分 Ri,各 32 位長。然后進行 16 輪 完全相同的運算,本程序直接采用數(shù)組,對其中的字符循環(huán)異或,只需進行一 輪,所以時間復(fù)雜度 T(n)是 比 較 小 的 。 空 間 復(fù) 雜 度 O(n)也 是 一 樣 的 , 它 是 對 課程設(shè)計說明書用紙 - 12 - 程 序 占 用 內(nèi) 存 的 分 析 , 由 公 式 T( n) =O( f( n) ) 知 , 時 間 復(fù) 雜 度 與 空 間 復(fù) 雜 度 均 為 O(n)。 4.3 經(jīng)驗和體會 這次課程設(shè)計的要求并不多,只要實現(xiàn) 31、加密與解密功能,而且只需要采用 一種加密算法,但是為了本次課程設(shè)計,我們組也搜索了大量的資料,并根據(jù) 在課堂上,書本上,老師講過的知識,結(jié)合自身主觀和客觀因素,制定了本次 課程設(shè)計的目標(biāo),并齊心協(xié)力,完成了此次設(shè)計。 通過本次的課程設(shè)計,我們還知道了許多自身存在的不足,例如僅掌握了 一種加密算法,但在日益發(fā)達的社會商業(yè)等領(lǐng)域,加密解密需要做的還非常多, 并且 Java 領(lǐng)域博大精深,我們現(xiàn)在只是學(xué)到了它的一點皮毛而已,所以還需多 多努力。 但是通過這些我還是學(xué)到了很多東西,先不說其他的,我最起碼最基礎(chǔ)的 加密算法,而且以后可以運用到自己想要保密的文件當(dāng)中去。 通過這次課程設(shè)計,我用 JAVA 32、語言實現(xiàn),我這是我對 JAVA 語言有了根深 的了解鞏固了以前學(xué)到的知識,也學(xué)習(xí)到了新的知識,課程設(shè)計雖然暫告一個 段落,但我們學(xué)習(xí) Java 的步伐不會終止。 五、測試結(jié)果 5.1 加密 首先在我機器 C 盤文件夾名為 1 的文件夾離創(chuàng)建一個名為 Example.txt 文 本文件用做測試。 運行程序,彈出如圖 5-1-1 的對話框 課程設(shè)計說明書用紙 - 13 - 圖 5-1-1 運行程序 點擊“文件” ,選擇“打開” ,即彈出“打開”對話框,選擇一個文本文件, 如圖 5-1-2。 圖 5-1-2 選擇加密文件 課程設(shè)計說明書用紙 - 33、 14 - 選擇文件后,即可在“文件瀏覽窗口”中顯示文本的信息,點擊“加密” 按鈕,即可在“文件瀏覽窗口”看到加密后的文件(如圖 5-1-3) 。 圖 5-1-3 生成加密文件 對加密后的密文進行保存,選擇“文件”下的“保存” ,即可彈出“保存”對話 框,選擇路徑,即可保存,如圖 5-1-4 和 5-1-5 所示。 課程設(shè)計說明書用紙 - 15 - 圖 5-1-4 保存加密文件 圖 5-1-5 瀏覽加密文件 5.2 解密 解密操作中對文件選擇,密碼輸入和加密操作是一樣的。 將剛剛加密的程序進行解密,打開密文文件,選擇“加密與 34、解密”窗口下 “解密”按鈕,點擊,即可解密,如圖 5-2 所示。 圖 5-2 生成解密文件 課程設(shè)計說明書用紙 - 16 - 六、主要參考資料 1 Java 語言程序設(shè)計教程邱桃榮 機械工業(yè)出版社 2 Java 程序設(shè)計試驗指導(dǎo)陳軼 姚曉昆 清華大學(xué)出版社 3 耿祥義等.Java 課程設(shè)計(第 2 版).北京:清華大學(xué)出版社 ,2006.8 4 耿祥義等.Java 實用教程(第三版) .北京:清華大學(xué)出版社 ,2006.8 5 ??藸? Java 編程思想(第 4 版).北京:機械工業(yè)出版社 ,2007.6 6 通過互連網(wǎng)檢索相關(guān)資料。 七、附錄 源代碼 35、: import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; class Myframe extends Frame implements ActionListener FileDialog filedialog_save,filedialog_load; Button button1,button2; Label label; MenuBar bar; Menu menu; MenuItem itemOpen,itemSave; TextArea texta; Myframe(St 36、ring s) //創(chuàng)建對話框 課程設(shè)計說明書用紙 - 17 - super(s); texta= new TextArea(38,160); button1= new Button(加密); button2= new Button(解密); menu=new Menu(文件); itemOpen=new MenuItem(打開); itemSave=new MenuItem(保存); label=new Label(文件瀏覽窗口); itemOpen.addActionListener(this); itemSave.addActionListener(this); bu 37、tton1.addActionListener(this); button2.addActionListener(this); filedialog_save=new FileDialog(this,保存文件對話框 ,FileDialog.SAVE); filedialog_load=new FileDialog(this,打開文件對話框 ,FileDialog.LOAD); filedialog_save.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) filedialog_sa 38、ve.setVisible(false); ); filedialog_load.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) filedialog_load.setVisible(false); 課程設(shè)計說明書用紙 - 18 - ); Box box1=Box.createHorizontalBox();//創(chuàng)建一個從左到右顯示其組 件的 box1; Box box2=Box.createVerticalBox();//創(chuàng)建一個從上到下顯示其組件 的 box2; B 39、ox box3=Box.createVerticalBox(); Box boxbase=Box.createVerticalBox(); Panel panel1=new Panel(); Panel panel2=new Panel(); setMenuBar(bar=new MenuBar()); bar.add(menu); menu.add(itemOpen); menu.add(itemSave); panel1.add(button1); panel1.add(button2); box1.add(panel1); box2.add(label); panel2.add(te 40、xta); box3.add(panel2); boxbase.add(box1); boxbase.add(box2); boxbase.add(box3); add(boxbase); setLayout(new FlowLayout()); setBounds(100,0,1200,750); setVisible(true); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) 課程設(shè)計說明書用紙 - 19 - System.exit(0); ); //“關(guān)閉” 41、窗口事件; public void actionPerformed(ActionEvent e)//查找讀入文件 if(e.getSource()==itemOpen) filedialog_load.setVisible(true); texta.setText(null); String s; if(filedialog_load.getFile()!=null) try File file=new File(filedialog_load.getDirectory(),filedialog_load.getFile()); FileReader file_reader=new F 42、ileReader(file);//讀取 字符流 BufferedReader in=new BufferedReader(file_reader); while((s=in.readLine())!=null) texta.append(s+n); in.close(); file_reader.close(); catch (IOException e1) 課程設(shè)計說明書用紙 - 20 - if(e.getSource()==itemSave)//查找寫入的文件 filedialog_save.setVisible(true); if(filedialog_save.getFi 43、le()!=null) try File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile()); FileWriter tofile=new FileWriter(file);//讀取字符流 BufferedWriter out=new BufferedWriter(tofile); out.write(texta.getText(),0,(texta.getText()).length()); out.close(); tofile.close(); catch (IOException e2) 44、 if(e.getSource()==button1) char a=texta.getText().toCharArray();/*把 texta 中獲得的 文本,進行初始化,與原字符串長度相等,并將該字符串對象的全部字符復(fù)制 到該數(shù)組 a中*/ texta.setText(null); 課程設(shè)計說明書用紙 - 21 - int n; char secret= ; for(int i=0;i
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。