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

基于多語(yǔ)言的實(shí)用簡(jiǎn)易加解密算法的研究與實(shí)踐

2017-03-29 07:45:22李進(jìn)豪
現(xiàn)代計(jì)算機(jī) 2017年4期
關(guān)鍵詞:信息

李進(jìn)豪

(廣東省海洋工程職業(yè)技術(shù)學(xué)校,廣州 510320)

基于多語(yǔ)言的實(shí)用簡(jiǎn)易加解密算法的研究與實(shí)踐

李進(jìn)豪

(廣東省海洋工程職業(yè)技術(shù)學(xué)校,廣州 510320)

在實(shí)際項(xiàng)目開發(fā)中,常需要對(duì)一些關(guān)鍵信息進(jìn)行簡(jiǎn)單的加解密,以保證關(guān)鍵信息的保密性。基于實(shí)際工作項(xiàng)目和需求,重點(diǎn)探索基于多語(yǔ)言的實(shí)用簡(jiǎn)易加解密算法的構(gòu)建和可行性分析,并以實(shí)踐案例輔以佐證。

多語(yǔ)言;加密;解密;算法;案例

0 引言

加密,是以某種特殊的算法改變?cè)械男畔?shù)據(jù),使得未授權(quán)的用戶無法了解信息的內(nèi)容。加密的逆過程為解密,即將該加密信息轉(zhuǎn)化為原來的形式。本文主要根據(jù)筆者的實(shí)際工作項(xiàng)目和需求,重點(diǎn)探索基于多語(yǔ)言的實(shí)用簡(jiǎn)易加解密算法的構(gòu)建及應(yīng)用(適用范圍:ASCII碼取值范圍為[33,126])。

1 問題的提出

在實(shí)際項(xiàng)目開發(fā)中,我們常需要對(duì)一些關(guān)鍵信息進(jìn)行簡(jiǎn)單的加解密,以保證關(guān)鍵信息的保密性。如果這些關(guān)鍵信息屬于多系統(tǒng)共享訪問信息,將涉及多語(yǔ)言對(duì)同一信息進(jìn)行加解密。例:使用C#語(yǔ)言設(shè)計(jì)的題庫(kù)管理系統(tǒng)(參考答案屬于關(guān)鍵信息),根據(jù)要求發(fā)布試題后,一般情況下常在基于C#開發(fā)的考試系統(tǒng)中使用,但有時(shí)也會(huì)在基于VB.NET開發(fā)的環(huán)境下使用(兼容),也會(huì)在基于VBA開發(fā)的PPT或Word環(huán)境下使用,也會(huì)在基于ActionScript 3.0開發(fā)的Flash益智游戲中使用。因此,如何基于多語(yǔ)言設(shè)計(jì)一個(gè)簡(jiǎn)單實(shí)用的加解密算法,以適用實(shí)際工作需要,滿足某些特殊需求,是我們必須解決的問題之一。

2 一種簡(jiǎn)單實(shí)用的加解密算法

2.1 基本原理

(1)定義

●chr():將ASCII碼轉(zhuǎn)換為字符

●asc():將字符轉(zhuǎn)換為ASCII碼

●len():獲取字符串長(zhǎng)度

●mod:求余數(shù)

●abs():取絕對(duì)值

●mid(str,i,j):從字符串str的第i位開始,截取j位字符

●psstr:可變加密字符串(兩個(gè)字符以上,是加解密公式的關(guān)鍵信息,由用戶自定義)

●tm:特征信息(與加密信息相關(guān)的特征信息,可以自定義)

●xx:加密前的字符

●jm:加密后的字符

●i:加密字符串的順序位

●常量:n=6

●變量:k=i mod LEN(passtr)

●變量:passtrnum=Abs(Asc(Mid(passtr,K+1,1))-Asc(Mid(passtr,1,1)))Mod n

(2)加解密算法

加密:jm=Chr(Asc(xx)-(i Mod n)-(Len(tm)Mod n)-passtrnum)

解密:xx=Chr(Asc(xx)+(i Mod n)+(Len(tm)Mod n)+passtrnum)

適用范圍:ASCII碼取值范圍為[33,126],常用可打印的字符。

可變加密字符串(psstr):由用戶自定義,可存放文本文件中,一般在加密時(shí)自定義或由計(jì)算機(jī)自動(dòng)隨機(jī)產(chǎn)生,解密時(shí)需提供同樣的可變加密字符串。

2.2 算法的定義域與值域

(1)加密算法的定義域與值域

●定義域

根據(jù)算法的適用范圍,可知本算法的定義域?yàn)閇33,126]。

●值域

從加密算法的定義(n=6)可知,“i Mod 6”的值域?yàn)閇0,5],“Len(tm)Mod 6”的值域?yàn)閇0,5],passtrnum的值域?yàn)閇0,5],故運(yùn)算式(i Mod 6)+(Len(tm)Mod 6)+ passtrnum的值域?yàn)閇0,15]。

根據(jù)上述分析,加密算法“Asc(xx)-(i Mod 6)-(Len(tm)Mod 6)-passtrnum”的值域?yàn)閇18,126]。

(2)解密算法的定義域與值域

解密算法是加密算法的逆運(yùn)算,故加密算法的定義域?yàn)榻饷芩惴ǖ闹涤颍用芩惴ǖ闹涤驗(yàn)榻饷芩惴ǖ亩x域。根據(jù)分析可知,解密公式的定義域與值域是:

定義域:[18,126]

值域:[33,126]

(3)結(jié)論

根據(jù)上述討論,加密算法與解密算法的定義域與值域均在ASCII碼的有效范圍中,因此上述加解密算法是可行、有效的。絕大多數(shù)情況下,存儲(chǔ)時(shí)所有在ASCII碼有效范圍中的字符均可以直接保存,但若存在有特別存儲(chǔ)要求的文件格式,則需要經(jīng)過特殊處理。此外,如果需要加密的信息范圍較小且可知,但加密后的信息有特別要求,則可根據(jù)值域的要求,在加解密算法中加上一個(gè)常數(shù)mycon,以適應(yīng)實(shí)際需要。此時(shí),加解密算法變形為:

加密:jm=Chr(Asc(xx)-(i Mod n)-(Len(tm)Mod n)–passtrnum+mycon)

解密:xx=Chr(Asc(xx)+(i Mod n)+(Len(tm)Mod n)+passtrnum-mycon)

2.3 通用加解密程序

2.4 特殊應(yīng)用示例1

(1)應(yīng)用要求

參考答案(英文字母),存儲(chǔ)格式為XML文件。

(2)定義域與值域

●定義域:[65,122]

●值域:[50,122]

●說明:存在特殊字符“<”和“>”,需要使用替代字符“(”和“)”

(3)示例

tm=”中國(guó)近代史上第一個(gè)不平等條約是()”

passtr="66"

原信息:B

加密后信息:(

2.5 特殊應(yīng)用示例2

(1)應(yīng)用要求

以“日期+時(shí)間”命名的文件名(純數(shù)字),需要對(duì)該文件名進(jìn)行簡(jiǎn)單加解密。

(2)定義域與值域

使用加解密的變形算法,mycon取值為32。

●定義域:[48,57],對(duì)應(yīng)字符為0至9

●值域:[65,89]

●說明:值域的對(duì)應(yīng)字符為A至Y,可以滿足文件名命名的特殊需求

(3)示例

tm=”2016111601839710”

passtr="16ABC123XYZ"

原信息:2016111601839710

加密后信息:HFENHLJMEDOJPLJH

3 常用編程語(yǔ)言的實(shí)現(xiàn)技術(shù)

在上述算法中,基于多語(yǔ)言對(duì)信息進(jìn)行加解密,獲取字符串長(zhǎng)度、求余數(shù)、取絕對(duì)值、截取字符等,常有編程語(yǔ)言都有標(biāo)準(zhǔn)的函數(shù),限于篇幅關(guān)系,不作討論。下文主要討論算法中的核心運(yùn)算“字符與ASCII碼”的相互轉(zhuǎn)換(以字符“A”對(duì)應(yīng)的ASCII碼65為例,字符“A”的變量名為st,65的變量名stnum)。

3.1 C#

●字符轉(zhuǎn)換為ASCII碼:(int)st。

●ASCII碼轉(zhuǎn)換為字符:(char)stnum。

3.2 C++

●字符轉(zhuǎn)換為ASCII碼:(int)st。

●ASCII碼轉(zhuǎn)換為字符:(char)stnum。

3.3 VB.NET

●字符轉(zhuǎn)換為ASCII碼:Asc(st)。

●ASCII碼轉(zhuǎn)換為字符:Chr(stnum)。

3.4 VBA

●字符轉(zhuǎn)換為ASCII碼:Asc(st)。

●ASCII碼轉(zhuǎn)換為字符:Chr(stnum)。

3.5 Java

●字符轉(zhuǎn)換為ASCII碼:(int)st.getBytes()。

●ASCII碼轉(zhuǎn)換為字符:(char)stnum。

3.6 JavaScript

●字符轉(zhuǎn)換為ASCII碼:st.charCodeAt(0);

●ASCII碼轉(zhuǎn)換為字符:String.fromCharCode(stnum)。

3.7 ActionScript

●字符轉(zhuǎn)換為ASCII碼:st.charCodeAt(0);

●ASCII碼轉(zhuǎn)換為字符:String.fromCharCode(stnum)。

4 案例

4.1 需求分析

在基于C#開發(fā)的題庫(kù)管理系統(tǒng)中發(fā)布的試題(題型:判斷題、單選題、多選題),需要在Word環(huán)境下使用(VBA),同時(shí)也需要在Flash環(huán)境下使用(ActionScript 3.0)。考慮到通用性和拓展需要,發(fā)布的試題存儲(chǔ)格式為XML格式,因此發(fā)布時(shí)參考答案需要進(jìn)行簡(jiǎn)易的加密,使用時(shí)參考答案需要進(jìn)行解密。

4.2 基本原理

(1)定義域與值域

●定義域:[65,122],主要存儲(chǔ)26個(gè)英文母(大小寫字母均可,判斷題,“正確”用“A”表示,“錯(cuò)誤”用“B”表示)

●值域:[50,122]

●特別處理:在XML文件中,“<”和“>”是不可以直接存儲(chǔ)的字符,使用代替字符,“(”表示“<”,“)”表示“>”。

(2)基本原理

根據(jù)需求分析,本案例的基本原理如圖1所示。

圖1 基本原理

4.3 實(shí)現(xiàn)

(1)基于C#的通用示例性加密代碼

●通用示例性加密代碼

●信息的加密

加密前信息:A

加密后信息:6

●說明

本例是單選題,代碼中的循環(huán)基本上是沒有作用的,當(dāng)出現(xiàn)多選題時(shí),循環(huán)將實(shí)現(xiàn)多選答案的逐個(gè)加密(如表1所示)。奇數(shù)位與偶數(shù)位的加密算法略有差異,主要是為了提升加密的強(qiáng)度。

表1 多選題答案

(2)基于VBA的通用示例性解密代碼

●通用示例性解密代碼

●信息的解密

解密前信息:6

解密后信息:A

(3)基于ActionScript 3.0的通用示例性解密代碼

●通用示例性解密代碼

●信息的解密

解密前信息:6

解密后信息:A

5 結(jié)語(yǔ)

作為一種實(shí)用簡(jiǎn)易的加解密算法,考慮到通用性,文中n的取值偏小,加密后的字符范圍相對(duì)也較小。對(duì)于特定信息,n的取值可以適當(dāng)增大。文中提及的代碼全部在真實(shí)環(huán)境下測(cè)試通過,并應(yīng)用于實(shí)際工作中,應(yīng)用效果好。

[1]李進(jìn)豪等.課堂教學(xué)有效性的研究與實(shí)踐[J].第六屆全國(guó)農(nóng)業(yè)職業(yè)教育教學(xué)成果二等獎(jiǎng),2015.

[2]李進(jìn)豪.基于AES的教師教學(xué)能力提升的研究與實(shí)踐[J].2015年廣東省職協(xié)優(yōu)秀科研成果一等獎(jiǎng),2016.

Research and Practice of the Practical and Simple Encryption and Decryption Algorithm Based on Multi Languages

LI Jin-hao

(Guangdong Province Vocational School of Oceanographic Engineering,Guangzhou 510320)

In the actual project exploring,we often need to carry a simple encryption and decryption of some key information,in order to ensure the confidentiality of key information.Based on the actual work project and requirements,focuses on the construction and feasibility analysis of the practical and simple encryption and decryption algorithm based on multi languages,and provides the practical cases as supporting evidence.

Muti Languages;Encryption;Decryption;Algorithm;Case

1007-1423(2017)04-0048-05

10.3969/j.issn.1007-1423.2017.04.011

李進(jìn)豪(1969-),男,廣東汕頭人,碩士,高級(jí)講師,高級(jí)技師,研究方向?yàn)檐浖こ獭⒕W(wǎng)絡(luò)游戲開發(fā)

2016-12-06

2017-01-20

廣東省中等職業(yè)學(xué)校“百千萬人才培養(yǎng)工程”專業(yè)名師培養(yǎng)對(duì)象專項(xiàng)資金(2015-2017)、全國(guó)農(nóng)業(yè)職教育“十三五”科研課題(No.2016-135-Y-227)、2015廣東省教育研究院課題(No.GDJY-2015-F-b018)

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會(huì)信息
信息超市
展會(huì)信息
展會(huì)信息
展會(huì)信息
展會(huì)信息
展會(huì)信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 久久网欧美| 97一区二区在线播放| 欧美亚洲国产日韩电影在线| 99视频国产精品| 99热国产这里只有精品无卡顿"| 毛片免费视频| 久久亚洲国产最新网站| 日韩A级毛片一区二区三区| 国产超薄肉色丝袜网站| 亚洲伦理一区二区| 色综合久久久久8天国| 国产超碰在线观看| 久久久四虎成人永久免费网站| 国产91无码福利在线| 国产成人精品一区二区| 久久国产香蕉| 亚洲综合久久成人AV| 色成人亚洲| 丰满人妻中出白浆| 精品国产免费人成在线观看| 国产99久久亚洲综合精品西瓜tv| 国产一级在线播放| 亚洲成a人片在线观看88| 免费国产在线精品一区| 人与鲁专区| 国产一级α片| 91福利在线观看视频| 91精品国产91欠久久久久| 日韩精品中文字幕一区三区| 亚洲日韩每日更新| 免费人成在线观看成人片| 18禁影院亚洲专区| 国产成+人+综合+亚洲欧美| 不卡午夜视频| 国产精品深爱在线| a级毛片免费看| 国产在线观看人成激情视频| 2024av在线无码中文最新| 国产JIZzJIzz视频全部免费| 色综合狠狠操| 秋霞一区二区三区| 国产黄网永久免费| 国产丝袜91| 在线欧美国产| 凹凸国产分类在线观看| 国产一国产一有一级毛片视频| 国产精品妖精视频| 亚洲色偷偷偷鲁综合| 国产本道久久一区二区三区| 成人伊人色一区二区三区| 激情五月婷婷综合网| 成年人福利视频| 亚洲精品成人片在线播放| 无码av免费不卡在线观看| 久久午夜夜伦鲁鲁片不卡| 精品无码日韩国产不卡av| 国产乱人免费视频| 亚洲人成影院在线观看| 中文字幕va| 国产性爱网站| 美女一区二区在线观看| 欧美日韩一区二区在线免费观看 | 色综合中文综合网| 国产丝袜丝视频在线观看| 久久综合一个色综合网| 亚洲第一区欧美国产综合| 久久综合一个色综合网| 国产打屁股免费区网站| 999福利激情视频| 麻豆精品国产自产在线| 国产欧美日韩精品综合在线| 精品一区二区无码av| 97久久人人超碰国产精品| 久爱午夜精品免费视频| 青青草欧美| 国产精品一区二区在线播放| 免费人成网站在线高清| 精品一区二区三区四区五区| 亚洲精品777| 中文无码影院| 亚洲美女一区二区三区| 欧美亚洲一区二区三区导航|