999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Yii2+sb2文件加解密管理系統(tǒng)的設(shè)計與實現(xiàn)

2021-04-20 02:23:34劉氫
電子技術(shù)與軟件工程 2021年2期

劉氫

(上海市國有資產(chǎn)信息中心 上海市 200000)

隨著單位信息化工作的持續(xù)開展,各類業(yè)務(wù)信息系統(tǒng)存儲了大量加密和非加密的基礎(chǔ)文件,要及時準(zhǔn)確地獲取這些基礎(chǔ)數(shù)據(jù),并安全的與相關(guān)單位進(jìn)行數(shù)據(jù)交換并不容易。如何科學(xué)有效地管理文件加解密工作是問題的關(guān)鍵所在。

本文提出的基于Yii2+springboot2 的文件加解密管理系統(tǒng),可以高效解決該問題,對相關(guān)單位企業(yè)有較高的參考價值。

1 系統(tǒng)架構(gòu)設(shè)計與運行環(huán)境

1.1 系統(tǒng)架構(gòu)設(shè)計

傳統(tǒng)系統(tǒng)設(shè)計流程包括數(shù)據(jù)庫表設(shè)計,業(yè)務(wù)邏輯設(shè)計,前端界面設(shè)計,后端接口設(shè)計等,流程中每一步都需要消耗大量的時間與精力,同時還需要兼顧程序代碼的規(guī)范性,可讀性與可擴展性,這樣會導(dǎo)致研發(fā)成本過高[1]。現(xiàn)代系統(tǒng)開發(fā)模式崇尚高效開發(fā),減少重復(fù)造輪子的工作,我們可以在成熟的開發(fā)框架上進(jìn)行二次開發(fā)。Yii2 和springboot2 就是兩個成熟的開發(fā)框架。

Yii2 是一個高性能、安全、專業(yè)的全棧開源Web 開發(fā)框架,可以用于快速開發(fā)各種使用 PHP 語言構(gòu)建的中大型Web 應(yīng)用。Yii2 框架實現(xiàn)了MVC 設(shè)計模式,每個應(yīng)用都通過唯一的一個入口腳本web/index.php 文件接受Web 請求并創(chuàng)建控制器實例,該控制器實例創(chuàng)建相應(yīng)的動作實例,在該請求通過系統(tǒng)驗證之后,則執(zhí)行該動作實例[2]。Yii2 框架集成了用戶登錄系統(tǒng)及前端ui 系統(tǒng),并采用模塊化的集成方式,所以在該框架上進(jìn)行開發(fā)可以專注于業(yè)務(wù)邏輯的設(shè)計。

Springboot2 也是一個非常優(yōu)秀的開發(fā)框架,其設(shè)計目的是用來簡化 web 應(yīng)用的初始搭建及開發(fā)過程。借助Springboot2 框架可以快速實現(xiàn)后端的接口開發(fā)。

單就文件加解密管理系統(tǒng)而言,我們可以只采用兩個開發(fā)框架中的任何一個,都可以實現(xiàn)所有功能,但是我們嘗試結(jié)合兩個框架的優(yōu)點,以期顯著提高開發(fā)效率和代碼質(zhì)量。系統(tǒng)整體設(shè)計圖結(jié)構(gòu)如圖1所示。

Yii2 框架的優(yōu)點之一在于Yii2 有自動生成前端頁面的gii 工具,Yii2 的視圖模塊可以通過gii 工具一鍵生成,極高的節(jié)省了前端設(shè)計和開發(fā)的時間,所以把涉及到文件管理的部分放在Yii2 框架里完成。而Springboot2 框架的優(yōu)點之一在于接口開發(fā)的快速,運用idea 工具生成springboot 項目文件之后,只需要在對應(yīng)的類下寫好相應(yīng)的路由和函數(shù)即可實現(xiàn)相關(guān)業(yè)務(wù)邏輯接口,同時考慮到j(luò)ava 版本的加解密算法庫比php 的加解密算法庫要更多更全面,所以把涉及到文件加解密的邏輯放在springboot2 框架下實現(xiàn)。

1.2 運行環(huán)境搭建

本系統(tǒng)運行環(huán)境搭建在Linux 操作系統(tǒng)上。因為Yii2 是基于php 語言的開發(fā)框架,而springboot2 是基于java 語言的開發(fā)框架,所以需要在Linux 上安裝php 和java 的執(zhí)行環(huán)境,同時需要安裝web 服務(wù)器來保證網(wǎng)絡(luò)能對外提供訪問服務(wù)。

最后選用xampp 集成環(huán)境作為系統(tǒng)運行的承載方式。XAMPP的名稱來自以下技術(shù)的組合:X(支持跨平臺)、Apache、MySQL或 MariaDB、PHP、Perl。XAMPP 是一個把 Apache 網(wǎng)頁服務(wù)器與PHP、Perl 腳本語言及 MariaDB 數(shù)據(jù)庫集合在一起的安裝包,允許用戶可以在虛擬機上方便的建立網(wǎng)頁服務(wù)器環(huán)境。同時,系統(tǒng)采用jdk1.8 來支撐java 應(yīng)用的執(zhí)行。

2 系統(tǒng)總體設(shè)計

文件加解密管理系統(tǒng)的主要模塊包括:用戶管理模塊,文件管理模塊,文件加密模塊,文件解密模塊。其中,用戶管理模塊包括用戶注冊,登錄及權(quán)限管理;文件管理模塊包括文件上傳下載,文件crud(增刪改查),文件命名規(guī)范;文件加密模塊包括密鑰生成,對稱加密和非對稱公鑰加密;文件解密模塊包括獲取密鑰,對稱私鑰解密和非對稱私鑰解密。各模塊之間相互聯(lián)系,方便了在線管理文件加解密流程。如圖2所示。

圖1:系統(tǒng)整體設(shè)計圖

圖2:系統(tǒng)功能模塊

圖3:文件加解密流程圖

2.1 用戶管理模塊

文件加解密管理系統(tǒng)的用戶管理模塊涉及到用戶注冊,用戶登錄,及用戶的權(quán)限管理。其中用戶注冊和登錄模塊為Yii2 框架自帶功能,用戶的權(quán)限管理模塊則是通過兼容Yii2 框架的Yii2-admin插件來實現(xiàn)。Yii2 的初始訪問權(quán)限只區(qū)分了游客和管理員,如果需要擴展訪問權(quán)限,需要自己編寫代碼配合Yii2 自帶的rbac 組件去實現(xiàn)權(quán)限管理,而Yii2-admin 是將rbac 的管理可視化,只需要在可視化界面上操作就能設(shè)置好權(quán)限管理規(guī)則,并在數(shù)據(jù)庫的規(guī)則表里生成相關(guān)記錄。

2.2 文件管理模塊

文件管理模塊包含文件的上傳下載功能,文件的增刪改查功能及文件命名規(guī)范管理功能。

通過Yii2 框架里自帶的 yiiwebUploadedFile 類,再結(jié)合前端小部件和對應(yīng)的模型類,就可以快速開發(fā)好安全的文件上傳功能。

文件下載則是通過訪問文件路徑實現(xiàn)直接下載。

文件的增刪改查主要是指文件路徑的增刪改查,文件管理模塊對應(yīng)的表名為file,Yii2 框架通過gii 工具,可以為file 表創(chuàng)建對應(yīng)的模型類,控制器類及對應(yīng)的視圖文件。

文件命名主要由五個部分構(gòu)成:

單位代碼_業(yè)務(wù)代碼_版本代碼_時間戳_32 位的唯一ID

其中時間戳由年月日和日期對應(yīng)的時間戳前6 位組合而成,32 位唯一ID 則通過生成通用唯一識別碼(UUID:Universally Unique Identifier)算法得出。

UUID 生成的基礎(chǔ)原理就是采用md5 函數(shù)生成密碼字符串,然后用substr 函數(shù)在里面截取對應(yīng)8-4-4-4-12 個字符,其中每個字符是 0-9 或 a-f 范圍內(nèi)的一個十六進(jìn)制的數(shù)字,這樣就可以拼出一個32 位的uuid。

2.3 文件加解密模塊

隨著時代的發(fā)展,信息安全已經(jīng)成為不容忽視的問題。單一的密碼體制越來越不能滿足信息安全領(lǐng)域的需求,混合密碼體制將成為研究的重要趨勢。數(shù)字信封是一種通過公鑰密碼算法加密并分發(fā)對稱密碼算法密鑰的混合加解密方法[3]。

文件加解密管理系統(tǒng)里也用到了數(shù)字信封技術(shù)。在對稱加密中,數(shù)據(jù)發(fā)送方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。接收方收到密文后,若想解讀原文,則需要使用加密密鑰及相同算法的逆算法對密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發(fā)收信雙方都使用這個密鑰對數(shù)據(jù)進(jìn)行加密和解密[4]。

對稱加密算法的優(yōu)點在于執(zhí)行速度快,缺點在于密鑰的傳輸安全及管理情況,一旦對稱加密算法所用的密鑰在傳輸過程中被盜,則傳輸信息的安全性就無法得到保障。為了解決傳輸過程中的數(shù)據(jù)安全問題,業(yè)界提出了非對稱加密算法。

非對稱加密算法中使用到兩個密鑰,一個是可以公開傳輸?shù)拿荑€,簡稱公鑰,一個是自己保存的私鑰。非對稱加密算法的基本原理是:由數(shù)據(jù)傳輸?shù)慕邮辗礁鶕?jù)特定的非對稱加密算法生成兩個密鑰,即公鑰和私鑰,然后把公鑰傳遞給數(shù)據(jù)傳輸?shù)陌l(fā)起方,數(shù)據(jù)傳輸?shù)陌l(fā)起方對要傳輸?shù)臄?shù)據(jù)用公鑰進(jìn)行加密,數(shù)據(jù)接收方收到的是加密后的數(shù)據(jù),再用開始生成的私鑰對該數(shù)據(jù)進(jìn)行解密,就得到了原始的裸數(shù)據(jù)。非對稱加密算法的缺點在于算法的復(fù)雜度高,從而使得加解密速度沒有對稱加密算法的執(zhí)行速度快。

數(shù)字信封技術(shù)綜合了對稱加密算法和非對稱加密算法的優(yōu)點。顧名思義,數(shù)字信封就相當(dāng)于把一把鑰匙放在信封里,公開傳遞的是信封(公鑰),這樣保證了鑰匙(私鑰)的安全性。

文件加密模塊主要包括生成對稱加密需要的私鑰key1,然后對原始文件A 進(jìn)行加密處理,得到對稱加密后的文件B;獲取非對稱加密所需要的公鑰C,然后對對稱加密需要的私鑰key1 進(jìn)行加密,得到非對稱加密后的私鑰,即數(shù)字信封。

文件解密模塊主要包括獲取非對稱加密算法所需的私鑰D,然后對數(shù)字信封進(jìn)行解密,獲取對稱加密算法所需的密鑰key1,最后對用key1 對文件B 進(jìn)行解密,得到最后的原始文件A。

3 結(jié)語

根據(jù)實際工作需要,設(shè)計與實現(xiàn)了基于Yii2+springboot2 的文件加解密管理系統(tǒng),將之前需要零散手工處理的加解密工作,系統(tǒng)化集成到系統(tǒng)里,有序管理文件的上傳下載及加解密工作,極大的提升了工作效率。

用戶管理模塊和文件管理模塊采用的Yii2 框架技術(shù),使整個系統(tǒng)的架構(gòu)符合高內(nèi)聚、低耦合的設(shè)計標(biāo)準(zhǔn)。

在文件加解密方面采用數(shù)字信封技術(shù)一方面解決了私鑰傳輸過程中的安全性問題,另一方面加解密算法執(zhí)行效率也可以得到提升。采用springboot2 實現(xiàn)數(shù)字信封技術(shù),可以很好的利用java 密碼庫完備的優(yōu)勢,同時也兼顧了密碼算法的擴展性。

采用兩種成熟框架結(jié)合的開發(fā)方式可以在確保完成工作需求,保障代碼質(zhì)量的前提下極大的提升開發(fā)效率,是值得推廣的一種開發(fā)模式。

主站蜘蛛池模板: 最新国产网站| 国产在线观看一区精品| 一级毛片视频免费| 成人a免费α片在线视频网站| 九色视频一区| 国产在线精品人成导航| 国产尤物视频网址导航| 欧洲熟妇精品视频| 国产无码制服丝袜| 色有码无码视频| 人妻中文字幕无码久久一区| 国产爽妇精品| 亚洲欧美综合在线观看| 欧美在线一二区| 波多野结衣爽到高潮漏水大喷| 国产一区二区网站| 国产精品尤物铁牛tv| 小说区 亚洲 自拍 另类| 台湾AV国片精品女同性| 伊人久综合| 亚洲香蕉在线| 一区二区三区成人| 亚洲国产亚综合在线区| 欧美一区中文字幕| www.精品国产| 国产亚洲精品无码专| 91精品国产情侣高潮露脸| 亚洲综合网在线观看| 亚洲成a人片| 久久亚洲国产最新网站| 国产女人18水真多毛片18精品| 久久男人资源站| 成年午夜精品久久精品| 国产精品丝袜在线| 国产99视频免费精品是看6| 久久精品电影| 国产一级毛片yw| 亚洲午夜天堂| h视频在线播放| 免费欧美一级| 亚洲成aⅴ人片在线影院八| 99视频在线观看免费| 丰满少妇αⅴ无码区| 久久夜色精品国产嚕嚕亚洲av| 小说 亚洲 无码 精品| 在线a视频免费观看| 日韩不卡免费视频| 天天躁狠狠躁| 欧美在线一二区| 日本道综合一本久久久88| 國產尤物AV尤物在線觀看| 香蕉网久久| 国产亚洲日韩av在线| 免费激情网址| 免费全部高H视频无码无遮掩| 第一页亚洲| 91亚洲精品国产自在现线| 91九色视频网| 5388国产亚洲欧美在线观看| 精品国产中文一级毛片在线看| 青青操国产| 青青草原国产av福利网站| 日本一区中文字幕最新在线| 一级成人a做片免费| 国产精欧美一区二区三区| 亚洲视频无码| 亚洲欧美在线综合一区二区三区| 久久美女精品国产精品亚洲| 国产精品永久免费嫩草研究院| 久久精品电影| 国产激爽大片在线播放| 国产欧美日韩va另类在线播放 | www.亚洲国产| 伊人色天堂| 亚洲精品图区| 欧美成a人片在线观看| 日韩精品毛片人妻AV不卡| 日本少妇又色又爽又高潮| 国产精品视频公开费视频| 九九久久99精品| 99青青青精品视频在线| 国产日韩精品欧美一区喷|