亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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)的用戶無(wú)法了解信息的內(nèi)容。加密的逆過(guò)程為解密,即將該加密信息轉(zhuǎn)化為原來(lái)的形式。本文主要根據(jù)筆者的實(shí)際工作項(xiàng)目和需求,重點(diǎn)探索基于多語(yǔ)言的實(shí)用簡(jiǎn)易加解密算法的構(gòu)建及應(yīng)用(適用范圍:ASCII碼取值范圍為[33,126])。

        1 問(wèn)題的提出

        在實(shí)際項(xiàng)目開發(fā)中,我們常需要對(duì)一些關(guān)鍵信息進(jìn)行簡(jiǎn)單的加解密,以保證關(guān)鍵信息的保密性。如果這些關(guān)鍵信息屬于多系統(tǒng)共享訪問(wèn)信息,將涉及多語(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í)際工作需要,滿足某些特殊需求,是我們必須解決的問(wèn)題之一。

        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)過(guò)特殊處理。此外,如果需要加密的信息范圍較小且可知,但加密后的信息有特別要求,則可根據(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]

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

        (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]

        ●說(shuō)明:值域的對(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

        ●說(shuō)明

        本例是單選題,代碼中的循環(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è)試通過(guò),并應(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ǎng)絡(luò)游戲開發(fā)

        2016-12-06

        2017-01-20

        廣東省中等職業(yè)學(xué)?!鞍偾f(wàn)人才培養(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
        99亚洲乱人伦精品| 天天爽夜夜爽人人爽| 蜜桃18禁成人午夜免费网站| 米奇7777狠狠狠狠视频影院| 久久成人麻豆午夜电影| 噜噜噜色97| 亚洲中文字幕一区二区在线| 中文字幕精品人妻在线| 综合图区亚洲另类偷窥| 亚洲老妈激情一区二区三区 | 久久久精品一区aaa片| 人妻暴雨中被强制侵犯在线| 久久精品国产99精品国偷| 国产精品98视频全部国产| 日本女优禁断视频中文字幕| 情av一区二区三区在线观看| 欧美老妇交乱视频在线观看| 制服丝袜人妻中文字幕在线| 国产一区二区三区爆白浆| 亚洲国产91高清在线| 国产极品女主播国产区| 午夜无码片在线观看影院| 欧美—iGAO视频网| 亚洲国产综合人成综合网站| 亚洲国产精品久久久久久无码| 色偷偷亚洲第一成人综合网址| 国产精品久久久久久久久免费| 极品 在线 视频 大陆 国产| 91精品蜜桃熟女一区二区| 国产主播一区二区三区蜜桃| 帮老师解开蕾丝奶罩吸乳视频| 欧美成人小视频| 国产一品二品三品精品久久| 国产自拍高清在线观看| 人与禽交av在线播放| 男女一级毛片免费视频看| 一区二区三区在线观看高清视频 | 精品国产一区二区av麻豆不卡| 国产自拍在线视频91| av无码一区二区三区| 婷婷四房色播|