• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      胡忠旭,徐小華

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

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

      胡忠旭,徐小華

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

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

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

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

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

      要確保使用數(shù)字串進行信息表示的應(yīng)用的安全,需要對數(shù)字串進行加密處理,鑒于很多系統(tǒng)中只能用數(shù)字進行特定信息的表示,所以加密后的數(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的值可以在運行時生成即可;

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

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

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

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

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

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

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

      var

      i, T,StrLength: Integer;

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

      StrEncrypted,Tstr: String;

      Tchar: string;

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

      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ù)字串進行再加工處理.

      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的加密算法,解密算法是加密過程的逆運算,依據(jù)1中的解密算法描述,可以采用加密因子作為解密函數(shù)的參數(shù)進行解密處理.

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

      var

      i, T,StrLength: Integer;

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

      StrDecrypted,Tstr: String;

      Tchar: string;

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

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

      Begin

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

      M:= 10 - EncryptCode;

      StrLength:= Length(EncryptedStr);

      一方面,培養(yǎng)一支理論基礎(chǔ)扎實、制度研究深入、具備創(chuàng)新能力的研究創(chuàng)新人才隊伍。研究創(chuàng)新團隊應(yīng)當率先深入學習最新的財務(wù)政策、制度,針對政府會計制度改革、管理會計應(yīng)用等相關(guān)文件認真研究,出臺具體的操作規(guī)范、實施細則等,推動新制度下核算工作的順利開展。同時,作為財務(wù)前臺人員,研創(chuàng)隊伍能夠獲取第一手的資金收支數(shù)據(jù),實時監(jiān)控各類資金收支的運行情況,通過對會計基礎(chǔ)信息進行歸集、分類,分析,及時發(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 生成定長的隨機數(shù),以8位數(shù)為例

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

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

      function RandNumber():Longint;

      var

      RandNum: Longint;

      begin

      Randomize;

      RandNum:= Random(99999999);

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

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

      RandNum:= Random(99999999);

      Result:= 9999999+ RandNum;

      end;

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

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

      表1 加密情況說明

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

      3.1 磁卡

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

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

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

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

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

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

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

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

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

      圖2 寫卡程序

      結(jié)束語

      除了將該算法用于磁卡加密外,還可以將其用到任何需要對數(shù)字串進行安全保護的應(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)雄人,碩士,講師.研究方向:軟件工程.

      [責任編輯 張燦邦]

      猜你喜歡
      磁卡卡號加密算法
      河南省長葛市彩紅蜂衣蜂帽加工廠
      蜜蜂雜志(2022年5期)2022-07-20 09:54:06
      河南省長葛市彩紅蜂衣蜂帽加工廠
      蜜蜂雜志(2021年11期)2021-02-18 07:21:32
      基于移動終端NFC的打卡程序設(shè)計與實現(xiàn)
      計算機時代(2020年9期)2020-10-09 11:17:11
      東方磁卡李曉東:進擊的智能卡研發(fā)巨子
      時代人物(2019年27期)2019-10-23 06:11:58
      夯實管理 抓出成效——天津環(huán)球磁卡股份有限公司工程管理組
      好老板
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進
      真丟臉奶吧
      對稱加密算法RC5的架構(gòu)設(shè)計與電路實現(xiàn)
      镇坪县| 嘉兴市| 富锦市| 静乐县| 墨竹工卡县| 乌拉特前旗| 郴州市| 辰溪县| 乌拉特后旗| 临猗县| 象州县| 兴隆县| 卫辉市| 西青区| 浦城县| 南木林县| 民乐县| 巢湖市| 醴陵市| 额敏县| 凤城市| 远安县| 封开县| 西安市| 历史| 佳木斯市| 大庆市| 寿宁县| 阳谷县| 咸宁市| 永顺县| 荔浦县| 中方县| 明光市| 营口市| 桃园县| 西城区| 慈溪市| 应用必备| 繁昌县| 阿克苏市|