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

基于WebService的加密算法

2019-09-10 06:22:15徐彤
現代信息科技 2019年2期

摘 要:由于當今Web服務存在多種數據傳輸格式,不同的數據格式所需存儲方法的實現代碼存在差異,因此迫切地希望提高代碼的彈性,以適應未來的各種數據格式。本文簡單介紹了Web服務,RESTful和參數傳遞,進一步提高了代碼的彈性,并以“秘密情書”為例著重介紹了兩種加密算法,利用其對明文進行加密,降低泄露的可能性,保證信息的安全和可靠。

關鍵詞:Web Service;RESTful;加密算法;參數傳遞

中圖分類號:TP393.09 文獻標識碼:A 文章編號:2096-4706(2019)02-0100-03

Abstract:Based on the existence of multiple data transmission formats in today’s Web services,different data formats require differences in the implementation code of storage methods. Therefore,it is urgent to improve the flexibility of the code to adapt to various data formats in the future. This article briefly introduces Web services,RESTful and parameter transfer,further improving the flexibility of the code,and introduces two encryption algorithms with a case column “secret love letter” to use it to encrypt plaintext and reduce the possibility of leakage. Ensure the safety and reliability of information.

Keywords:Web Service;RESTful;encryption algorithm;parameter transfer

0 引 言

隨著互聯網時代的發展,不同信息系統之間交互的數據格式存在差異,如果每次修改存儲方法的實現代碼,就使得代碼的彈性不夠,無法很好適應未來的Content-type,Mine-type和Media-type等各種類型格式,因此一種更有彈性的同樣可以實現該需求的代碼編寫被提了出來,這也是利用Web Service的方便之處。除此之外,在互聯網上傳遞信息有時候是很不安全的,一旦我們的信息被不法人員截獲,其便可以輕松了解信息的內容,所以,在此提出了兩種加密算法在傳輸過程中對信息進行加密,接收方對信息進行解密后,便可以獲得信息的準確內容。

1 Web服務的概念

在談到Web服務前,我先對服務進行簡單介紹。計算機中的服務是指某個具體功能。提供計算1+1=2的功能是一種服務;提供翻譯功能是一種服務;根據你輸入的圓的半徑幫你畫一個圓也是一種服務;更不用說常使用到的外賣服務、地圖服務和交通服務等等。那么什么是Web服務呢?Web服務就是指使用http或https協議接受用戶的請求并提供功能服務的方式。平時中一個常見的Web服務例子,用戶在谷歌瀏覽器的地址欄中輸入http://www.baidu.com之后(按Enter鍵),瀏覽器顯示“百度搜索”這個搜索引擎。為什么我會將其理解為Web服務呢?因為首先這個服務是基于http協議的,然后,在從地址欄輸入URI到顯示“百度搜索”這整個過程是輸入URI之后(按Enter鍵),瀏覽器客戶端將http://www.baidu.com請求發送到服務器,請求服務器響應,服務器對這個請求進行解析,發現存在一個服務可以滿足這個請求,之后便將其對應的html文件發送到客戶端顯示出來。

2 RESTful的概念

REST的全稱是Representational State Transfer,直譯為表述性狀態轉移。REST在2000年被Roy Fielding提出,是一種利用萬維網的相關技術以及協議來構建大規模網絡軟件的構架方式。REST意在說明,數據資源是可以被定義,被發布的,并且在此基礎上將信息的交換變得簡單并具有可擴展性。RESTful=REST+ful,既具有REST特征的設計風格。

3 API簡單參數傳遞

這里提到的簡單參數是指非結構化的參數,如一個數值、一個字符串這樣的用簡單變量進行接受處理的參數。

簡單參數傳遞可以選擇兩種方式傳遞:(1)附加在路徑上,表觀現象如真實的資源路徑無差異。(2)附加在資源路徑的之后,按照標準的值對鏈條進行傳參。前者稱為@PathParam注解傳參,后者稱之為@QueryParam注解傳參。

3.1 @PathParam注解

路徑傳參,就參數傳遞的形式而言是將參數嵌入到路徑中,并從表觀形態上與資源實體所對應的路徑具有不可區分性。@PathParam語法形式:@PathParam(“路徑中的參數名”)parameterType parameterName。在@PathParam中配置參數模板:@Path(“/path1/.../pathk/.../pathn”),示例:@Path(“/path/{name}/a/{age}/{gender}/myfile”)。在Class方法的參數列表中為相關參數配置@PathParam標注,進行參數賦值,示例:public String testPath(@Path Param(“age”) int age,@PathParam(“name”) String name,@PathParam(“gender”) String gender)。

@Path與@PathParam注解聯合工作原理:當用戶請求路徑http://127.0.0.1/restful/test/path/張三/a/23/男/myfile時,請求路徑與容器內注冊模板進行匹配,發現@PathParam(“/path/{name}/a/{age}/{gender}/myfile”)匹配成功,接著進行路徑參數解析,將name賦值為張三,age賦值為23,gender賦值為男,方法體代碼正確執行后通過@Produces標注返回給用戶的結果。

3.2 @QueryParam注解

Query是指URL中由“問號”引導出的值對參數鏈條。Query傳參形式:http://host:port/path?Param1=value1&...&paramn=valuen。

@QueryParam語法形式:@QueryParam(“路徑中的參數名”) parameterType parameterName。在Class方法的參數列表中為相關參數配置@QueryParam標注,進行參數賦值,示例:public String testQuery(@QueryParam (“age”) int age,@QueryParam(“name”) String name,@QueryParam(“gender”) String gender)。

@QueryParam注解工作原理:當用戶請求路徑http: //127.0.0.1/restful/test/query?name=張三&age=23& gender=男,請求路徑與容器內注冊模板進行匹配,發現public String testQuery(@QueryParam(“age”) int age,@QueryParam(“name”) String name,@QueryParam (“gender”) String gender)匹配成功,接著進行路徑參數解析,將name賦值為張三,age賦值為23,gender賦值為男,方法體代碼正確執行后通過@Produces標注返回給用戶的結果。

4 Form表單參數傳遞

Form表單是一個容器,可將容器內的對象集合組織成參數集合,并向服務器發送這些參數。該容器內的常見可用于參數傳遞的對象如:input,select,textarea等。@Form語法:@Form parameterType parameterName。在Class方法中用法,示例:public String testForm(@Form FormRequestValues form)。與@Form匹配的parameterType類:需要在類的每個屬性前加一個@FormParam注解,注解中填入表單中控件的name屬性值。

5 加密算法

在這個過程中,我簡單介紹一個信息交互過程“秘密的情書”,如圖1所示。

5.1 算法A

Cipher1結構:C1,R1,C2,R2,…,Cn,Rn。Cipher1實例:72,01,75,02,74,03,73,04,其中Ci和Ri為ASCII的16進制形式,各自表示一個字節從Cipher1中獲取key的各組成字節:keyBytes[i]=(Ci xor Ri);從Cipher1中獲取key的示例:keyBytes[0]=(72 xor 01);keyBytes[1]=

(75 xor 02);keyBytes[2]=(74 xor 03);keyBytes[3] =(73 xor 04);key=new String(keyBytes),下面給出實現代碼。

public static String getCipherKey(@Form Step1 step1) {

String secret=step1.getSecret().trim();

byte[] keyBytes=new byte[secret.length() / 4];

int k=0;

for (int i = 0; i < secret.length(); i += 4) {

String temp1 = secret.substring(i, i + 2);

byte ci = (byte) Integer.parseInt(temp1, 16);

String temp2 = secret.substring(i + 2, i + 4);

byte ri = (byte) Integer.parseInt(temp2, 16);

keyBytes[k++] = (byte) (ci ^ ri);

}

String key = new String(keyBytes);

return key;

}

5.2 算法B

明文結構:T1,T2,T3,T4,…,Tn-1,Tn,密鑰結構:K1,K2,K3,K4,K5,K6,K7,將key視為明文,將自己的學號視為密鑰,調用算法B,混合生成newKey:newKey[i]=(Ti xor Ki);注意:當Km從為密鑰最后一個字節時,Km+1=K0,Km+2=K1,即密鑰將重新從自己的首字節開始與明文按字節進行xor運算,直至計算完明文的最后一個字節為止。張華在得到newKey后,再次使用算法B加密自己的短消息,此時需要加密的短消息為明文,newKey為密鑰,算法不變。注意在這個算法中,還將引入隨機數。利用Java中的getBytes[]方法獲取學號和明文的byte數組,接著生成隨機數,將學號和明文的數組元素和隨機數進行異或,將異或的結果和隨機數作為最后newKey的結果。

public static String createCipherKey(@Form Step2 step2) {

String mingwen = step2.getMingwen().trim();

String number = step2.getNumber().trim();

byte[] mw = mingwen.getBytes();

byte[] xuehao = number.getBytes();

String str = "";

for (int i = 0; i < mw.length; i++) {

byte temp1 = mw[i];

byte temp2 = xuehao[i % xuehao.length];

int ran = (int) (Math.random() * 256);

int temp = temp1 ^ temp2 ^ ran;

String ranHexString = Integer.toHexString(ran);

if (ranHexString.length() < 2)

ranHexString = "0" + ranHexString;

String tempHexString = Integer.toHexString (temp);

if (tempHexString.length() < 2)

tempHexString = "0" + tempHexString;

str = str + ranHexString + tempHexString;

}

return str;

}

6 結 論

計算機網絡和Web技術的高速發展,為人們提供了便利,但隨之而來的是信息的安全問題,為此有必要以一種高效的算法對信息進行加密,防止不法分子對信息進行解密或讓其付出慘重代價,以此保證信息的安全性。在此,僅僅提出一個簡單的加密模型,在后期隨著知識的積累將對其進一步改進。

參考文獻:

[1] 韓陸.Java RESTful Web Service實戰(第二版) [D].北京:機械工業出版社,2018.

[2] 潘運平,王勝男,王曉川.基于WebService的整車物流管理信息系統研究 [J].武漢理工大學學報(信息與管理工程版),2013,35(5):710-713.

作者簡介:徐彤(1998.12-),男,江西鷹潭人,本科,主要研究方向:軟件工程理論與方法。

主站蜘蛛池模板: 国产一级二级三级毛片| 国产精品自在自线免费观看| 在线国产欧美| 永久免费av网站可以直接看的| 久久国产成人精品国产成人亚洲 | 97在线碰| 久久一日本道色综合久久| 国产精品丝袜视频| 亚洲精品视频免费观看| 国产另类乱子伦精品免费女| 日日拍夜夜嗷嗷叫国产| 自拍欧美亚洲| 国产精品黑色丝袜的老师| 激情视频综合网| 国产精品综合久久久| 亚洲高清免费在线观看| 免费一级毛片完整版在线看| 国产精品美女网站| 中国一级特黄视频| 蜜臀AV在线播放| 国产视频你懂得| 亚洲一区二区三区在线视频| 伊人查蕉在线观看国产精品| 一级毛片在线免费视频| 福利视频99| 欧美日韩国产一级| 精品国产美女福到在线不卡f| 91精品在线视频观看| 亚洲免费黄色网| 亚洲一区波多野结衣二区三区| 国产一国产一有一级毛片视频| 成人在线欧美| 国产美女在线观看| 国产v欧美v日韩v综合精品| 黄色网址免费在线| 国产精品久久久久久久久久久久| 久久国产高潮流白浆免费观看| 日韩精品一区二区深田咏美| 波多野结衣在线一区二区| 国产精品亚洲综合久久小说| 精品国产美女福到在线直播| 欧美在线视频不卡第一页| 国产高清在线观看| 亚洲无码A视频在线| 亚洲国产清纯| 亚州AV秘 一区二区三区| 亚洲一区二区三区麻豆| 囯产av无码片毛片一级| 亚洲v日韩v欧美在线观看| 日本AⅤ精品一区二区三区日| a毛片在线播放| 久久久久久久97| 91麻豆国产在线| 亚洲成人免费在线| 国产成人综合久久| 嫩草国产在线| 色成人亚洲| 国产呦视频免费视频在线观看| 免费 国产 无码久久久| 亚洲va欧美ⅴa国产va影院| 亚洲精品无码成人片在线观看 | 狠狠亚洲婷婷综合色香| 欧美精品亚洲精品日韩专区va| 91福利免费视频| 欧美一区二区福利视频| 最新加勒比隔壁人妻| 成人福利在线观看| 久久综合伊人77777| 欧美a级在线| 高清欧美性猛交XXXX黑人猛交| 国产小视频在线高清播放| 欧美日韩成人| 九九免费观看全部免费视频| 中文字幕欧美日韩| 国产日韩欧美视频| 91探花在线观看国产最新| 亚洲第七页| 午夜国产理论| 福利在线一区| 五月天久久综合| 欧美一区二区丝袜高跟鞋| 波多野结衣一级毛片|