亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于數(shù)字串加密算法的研究與實現(xiàn)

        2011-12-27 12:06:54胡忠旭徐小華
        紅河學(xué)院學(xué)報 2011年4期
        關(guān)鍵詞:磁卡卡號加密算法

        胡忠旭,徐小華

        (昭通師范高等??茖W(xué)校 網(wǎng)絡(luò)信息中心,云南 昭通 657000)

        基于數(shù)字串加密算法的研究與實現(xiàn)

        胡忠旭,徐小華

        (昭通師范高等??茖W(xué)校 網(wǎng)絡(luò)信息中心,云南 昭通 657000)

        針對數(shù)字串在信息管理中的安全問題,提出了一種實用的數(shù)字串加密算法.將此算法應(yīng)用于磁卡加密,由此證明該算法具有一定的實用價值.

        數(shù)字串;加密算法;磁卡

        數(shù)字串被廣泛應(yīng)用到管理信息系統(tǒng)中,特別常見的有各種卡的卡號.以磁卡為例,磁卡在使用中一般會印上卡號,如銀行卡卡號、會員卡卡號等.為了便于使用和方便讀卡設(shè)備直接讀出卡號而完成在各種卡管理的系統(tǒng)中的輸入操作,很多磁卡上直接寫入了明文卡號.由此導(dǎo)致磁卡很容易就被復(fù)制、克隆,引出了磁卡的安全問題,所以在制卡時,應(yīng)該考慮如何對卡號(寫入卡中的數(shù)字串)進(jìn)行加密處理,確保磁卡安全,便于磁卡推廣使用.關(guān)于磁卡安全問題,最大困難是磁卡中的數(shù)據(jù)只能用數(shù)字表示時如何對其進(jìn)行加密;對此一直缺乏一種行之有效的算法對磁卡數(shù)字串進(jìn)行加密.于是,本文在數(shù)字串安全問題進(jìn)行探討基礎(chǔ)上,提出了一套實用的數(shù)字串加密算法,并將其應(yīng)用到磁卡的制卡加密中.

        1 數(shù)字串加密、解密算法

        要確保使用數(shù)字串進(jìn)行信息表示的應(yīng)用的安全,需要對數(shù)字串進(jìn)行加密處理,鑒于很多系統(tǒng)中只能用數(shù)字進(jìn)行特定信息的表示,所以加密后的數(shù)據(jù)仍然只能是數(shù)字串,對此,可以采用如下的加密算法.

        加密算法及步驟描述:設(shè)有數(shù)字串S由0至9的數(shù)字構(gòu)成,其中的每位數(shù)字用S(i)表示.

        1、S(i): 表示需要加密的數(shù)字;

        2、設(shè)定加密因子N: 1至9九個數(shù)中的任意數(shù)字;

        3、E(i):被加密的數(shù)字.E=(S(i)+N)mod 10;

        解密算法描述:

        1、解密因子M: M=10-N;M的值可以在運(yùn)行時生成即可;

        2、S(i)=(E(i)+M)mod 10;逐位還原原數(shù)字串.

        以上是基本的加密、解密算法,對于加密后的數(shù)字串,可以直接將其寫入磁卡,亦可以在其間插入定長隨機(jī)數(shù),或交換其中的某些位置的數(shù)字以加大破解的難度.對于數(shù)字串的加密,可以采用這些算法簡單、但行之有效的方法進(jìn)行.下面以磁卡數(shù)字串加密做應(yīng)用說明.

        2 加密、解密算法的實現(xiàn)

        一般磁卡讀寫設(shè)備廠家都會提供Delphi[1]的寫卡接口,方便開發(fā)各種信息管理系統(tǒng)中使用該接口進(jìn)行磁卡數(shù)據(jù)的讀寫.所以這里提供一個Delphi的加密、解密算法供應(yīng)用參考.

        2.1 用Delphi實現(xiàn)的加密算法

        通過加密因子(EncryptCode)對數(shù)字串進(jìn)行加密處理,返回結(jié)果可供程序使用.返回的數(shù)據(jù)格式為字符數(shù)組,即把數(shù)字串當(dāng)成字符進(jìn)行處理.

        function EncryptStr(InitContent: String;EncryptCode:Integer):String;

        var

        i, T,StrLength: Integer;

        //定義兩個字符串以保存加密過程數(shù)據(jù)和結(jié)果.

        StrEncrypted,Tstr: String;

        Tchar: string;

        //定義字符數(shù)組,方便對數(shù)字串中的每個元素進(jìn)行處理.

        StrArray: array [0..40] of Char; begin

        StrLength:= Length(InitContent);

        StrPCopy(StrArray,InitContent);

        for i:=0 to StrLength-1 do

        begin

        T:= StrToInt(StrArray[i])+EncryptCode;

        T:= T mod 10;

        Tstr := IntToStr(T);

        StrArray[i]:= Tstr[1];

        end;

        //交換第一位與第三位的位置;可以根據(jù)實際情況自行設(shè)定,亦可采取其他方法對數(shù)字串進(jìn)行再加工處理.

        Tchar:= StrArray[0];

        StrArray[0]:= StrArray[2];

        StrArray[2]:= Tchar[1];

        //處理完畢,數(shù)組轉(zhuǎn)字符串

        StrEncrypted:=StrPas(StrArray);

        Result:= StrEncrypted;

        end;

        2.2 解密算法

        根據(jù)2.1的加密算法,解密算法是加密過程的逆運(yùn)算,依據(jù)1中的解密算法描述,可以采用加密因子作為解密函數(shù)的參數(shù)進(jìn)行解密處理.

        function DecryptStr(EncryptedStr: String;EncryptCode: Integer):String;

        var

        i, T,StrLength: Integer;

        //定義兩個字符串以保存解密過程數(shù)據(jù)和結(jié)果.

        StrDecrypted,Tstr: String;

        Tchar: string;

        //定義字符數(shù)組,方便對數(shù)字串中的每個元素進(jìn)行處理.

        StrArray: array [0..40] of Char;

        Begin

        //根據(jù)加密因子生成解密因子

        M:= 10 - EncryptCode;

        StrLength:= Length(EncryptedStr);

        一方面,培養(yǎng)一支理論基礎(chǔ)扎實、制度研究深入、具備創(chuàng)新能力的研究創(chuàng)新人才隊伍。研究創(chuàng)新團(tuán)隊?wèi)?yīng)當(dāng)率先深入學(xué)習(xí)最新的財務(wù)政策、制度,針對政府會計制度改革、管理會計應(yīng)用等相關(guān)文件認(rèn)真研究,出臺具體的操作規(guī)范、實施細(xì)則等,推動新制度下核算工作的順利開展。同時,作為財務(wù)前臺人員,研創(chuàng)隊伍能夠獲取第一手的資金收支數(shù)據(jù),實時監(jiān)控各類資金收支的運(yùn)行情況,通過對會計基礎(chǔ)信息進(jìn)行歸集、分類,分析,及時發(fā)現(xiàn)問題、采取深入研究和集體探討方式,找出問題原因并提出解決措施。

        StrPCopy(StrArray,EncryptedStr);

        for i:=0 to StrLength-1 do

        begin

        T:= StrToInt(StrArray[i])+M;

        T:= T mod 10;

        Tstr := IntToStr(T);

        StrArray[i]:= Tstr[1];

        end;

        //交換第一位與第三位的位置;與加密算法對應(yīng);

        Tchar:= StrArray[0];

        StrArray[0]:= StrArray[2];

        StrArray[2]:= Tchar[1];

        //處理完畢,數(shù)組轉(zhuǎn)字符串

        StrDecrypted:=StrPas(StrArray);

        Result:= StrDecrypted;

        end;

        2.3 生成定長的隨機(jī)數(shù),以8位數(shù)為例

        如果需要更安全的加密效果,可以采用在加密串中添加隨機(jī)干擾數(shù)的方法實現(xiàn).如對8位數(shù)字串,可以在其前、后,或者規(guī)定第幾位之后加入一個或多個干擾串.當(dāng)然加密之后還要能確保解密算法容易執(zhí)行,所以插入的隨機(jī)干擾串最好是定長的.下面提供一個Delphi實現(xiàn)的生成定長隨機(jī)數(shù)串的函數(shù)供參考:

        //該函數(shù)產(chǎn)生8為數(shù)字的隨機(jī)數(shù).

        function RandNumber():Longint;

        var

        RandNum: Longint;

        begin

        Randomize;

        RandNum:= Random(99999999);

        //確保取到定長的隨機(jī)數(shù)字串

        while (RandNum < 1000000) or (RandNum >90000000) do

        RandNum:= Random(99999999);

        Result:= 9999999+ RandNum;

        end;

        2.4 加密算執(zhí)行情況

        在不加入隨機(jī)數(shù)干擾的情況下,執(zhí)行程序(2.1所提供的加密算法)可以實現(xiàn)對卡號加密如下:

        表1 加密情況說明

        3 數(shù)字串加密算法的應(yīng)用——磁卡加密

        3.1 磁卡

        磁卡的最早應(yīng)用是作為信用卡出現(xiàn)在金融領(lǐng)域.[2]隨著計算機(jī)技術(shù),信息管理水平的提高,磁卡的應(yīng)用愈來愈廣泛,銀行卡、會員卡、禮品卡等無處不有其身影.

        圖1 磁卡的物理結(jié)構(gòu)

        磁卡將信息保存到磁道(Track1,Track2,Track3)上;允許使用的數(shù)字和字符,以下是3個磁道的不同特性說明.

        ◆Track1(IATA):記錄密度為210BPI;可以記錄0~9 數(shù)字及A~Z 字母等;總共可以記錄多達(dá)79個數(shù)字或字符(包含起始結(jié)束符和校驗符);由于Track1 上的信息不僅可以用數(shù)字0~9 來表示,還能用字母A~Z 來表示信息,因此Track1 上信息一般記錄了磁卡的使用類型、范圍等一些“標(biāo)記”性、“說明”性的信息.例如銀行卡中,Track1 記錄了用戶的姓名,卡的有效使用期限以及其他的一些“標(biāo)記”信息.

        ◆Track2(ABA):記錄密度為75BPI;可以記錄0~9 數(shù)字,不能記錄A~Z 字符;總共可以記錄多達(dá)40個數(shù)字(包含起始結(jié)束符和校驗符).

        ◆Track3(THRIFT):記錄密度為210BPI;可以記錄0~9 數(shù)字,不能記錄A~Z 字母;總共可以記錄多達(dá)107 個數(shù)字或字符(包含起始結(jié)束符和校驗符).

        除銀行及個別有特殊用途的行業(yè)外,一般采用單二軌磁卡(只有Track2可以記錄數(shù)據(jù))作為會員卡、打折卡等.該類磁卡成本低廉,讀寫設(shè)備使用方便.

        3.2 用Delphi實現(xiàn)的磁卡數(shù)字串加密寫卡程序

        該程序通過寫卡設(shè)備廠家提供的程序接口進(jìn)行開發(fā),在寫卡之前可以對寫卡數(shù)據(jù)進(jìn)行處理,用戶可選是否加密,是否采用隨機(jī)數(shù)字串對寫卡數(shù)據(jù)進(jìn)行干擾.對于解密,只需在運(yùn)行DecryptStr函數(shù)前將隨機(jī)數(shù)字串去除即可.

        圖2 寫卡程序

        結(jié)束語

        除了將該算法用于磁卡加密外,還可以將其用到任何需要對數(shù)字串進(jìn)行安全保護(hù)的應(yīng)用系統(tǒng)中.

        [1] 明日科技,梁水等.Delphi開發(fā)技術(shù)大全[M].人民郵電出版社,2007.

        [2] 朱玉存,劉義欣.磁卡及磁卡技術(shù)[J].科技廣角,1995,(6).

        Based on Numerical Strings The Encrgption Algorithm Research and Realice

        HU Zhong-xu ,XU Xiao-hua
        (Zhaotong Teachers’ College,Network&Information Center,ZhaoTong 657000,China)

        According to the numerical strings, security issues in the information management, put forward to a practical numerical strings, encryption algorithm.Apply this algorithm to magcard encryption, which proved that the algorithm had some practical value.

        numerical strings; encryption algorithm; magcard

        TP3

        A

        1008-9128(2011)04-0034-03

        2011-06-20

        胡忠旭(1983-)男,云南鎮(zhèn)雄人,碩士,講師.研究方向:軟件工程.

        [責(zé)任編輯 張燦邦]

        猜你喜歡
        磁卡卡號加密算法
        河南省長葛市彩紅蜂衣蜂帽加工廠
        蜜蜂雜志(2022年5期)2022-07-20 09:54:06
        河南省長葛市彩紅蜂衣蜂帽加工廠
        蜜蜂雜志(2021年11期)2021-02-18 07:21:32
        基于移動終端NFC的打卡程序設(shè)計與實現(xiàn)
        東方磁卡李曉東:進(jìn)擊的智能卡研發(fā)巨子
        時代人物(2019年27期)2019-10-23 06:11:58
        夯實管理 抓出成效——天津環(huán)球磁卡股份有限公司工程管理組
        好老板
        基于小波變換和混沌映射的圖像加密算法
        Hill加密算法的改進(jìn)
        真丟臉奶吧
        對稱加密算法RC5的架構(gòu)設(shè)計與電路實現(xiàn)
        在线精品首页中文字幕亚洲| 色窝窝免费播放视频在线| 精品国产成人亚洲午夜福利| 91热视频在线观看| 国产精品自拍视频免费看| 久久狼精品一区二区三区| 人成午夜免费视频无码| 国产成人午夜精华液| 依依成人影视国产精品| 黄页国产精品一区二区免费| 中文字幕一区二区综合| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲亚洲人成综合网络| 狠狠色综合播放一区二区| 91亚洲色图在线观看| 亚洲综合在不卡在线国产另类 | 中文字幕 亚洲精品 第1页| 激情内射日本一区二区三区| 亚洲国产av一区二区三区四区| 亚洲乱精品中文字字幕| 成人性生交大片免费看l| 欧美国产亚洲日韩在线二区| 国产va在线观看免费| 婷婷色国产精品视频一区| 一区二区三区夜夜久久| 大陆老熟女自拍自偷露脸| 99久久久国产精品免费蜜臀| 亚洲日本va中文字幕久久| 91蜜桃国产成人精品区在线| 亚洲av老熟女一区二区三区| 成 人 免 费 黄 色| 最近日本中文字幕免费完整| 中国免费av网| 男女视频一区二区三区在线观看| 少妇久久久久久被弄高潮| 丰满熟妇乱又伦| 亚洲第一免费播放区| 亚洲综合久久精品少妇av | 女人脱了内裤趴开腿让男躁| 亚洲日本va午夜在线影院| 久久精品国产亚洲av热明星|