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

        ?

        ASP.NET中DES算法加密與解密的應用

        2017-05-16 07:33:39
        關鍵詞:字符串加密算法解密

        馮 菁

        (淮北職業(yè)技術學院 計算機科學技術系, 安徽 淮北 235000)

        ASP.NET中DES算法加密與解密的應用

        馮 菁

        (淮北職業(yè)技術學院 計算機科學技術系, 安徽 淮北 235000)

        以ASP.NET頁面數(shù)據(jù)安全為基礎,通過最常用的DES加密,編寫可以復用的加密解密函數(shù)。與其他技術相比較,.NET簡單易實現(xiàn),為數(shù)據(jù)加密提供了方便,.NET Framework有效封裝了常用加密算法。通過調(diào)用自定義函數(shù)實現(xiàn)對Web頁面指定數(shù)據(jù)信息的加密與解密,方法簡單,運算速度較快,適應于大多數(shù)Web站點中的數(shù)據(jù)信息安全,最后提出可替換加密強度更大的AES加密技術以及其他加密方法。

        ASP.NET; DES算法; 數(shù)據(jù)加密

        ASP.NET開發(fā)的Web應用程序集頁面、控件、代碼模塊和服務組成[1],支持多種語言,且技術成熟。集成開發(fā)環(huán)境Visual Studio.NET界面友好,ASP.NET已成為眾多動態(tài)網(wǎng)站編程人員的首選[2]。在開發(fā)平臺中,Java雖開放源碼多,但大多是英文資料,內(nèi)容非常專業(yè),不易入門。

        利用ASP.NET進行Web開發(fā),能夠提供一系列有效措施保障數(shù)據(jù)安全。采用Session對象與Cookie對象來實現(xiàn)用戶數(shù)據(jù)安全以及信息跨頁面安全;利用后臺數(shù)據(jù)庫系統(tǒng)自帶的安全機制,可以保證數(shù)據(jù)的安全性、一致性等。本文將討論用.NET自帶加密算法類提供的加密服務來實現(xiàn)數(shù)據(jù)加密,在類文件中編寫加密與解密函數(shù),并在所需的頁面代碼中調(diào)用這些函數(shù),保證頁面指定數(shù)據(jù)與數(shù)據(jù)表里信息的保密與安全。

        1 加密簡介

        1.1 數(shù)據(jù)加密

        數(shù)據(jù)加密是防止數(shù)據(jù)被竊取篡改的有效手段,通過加密防止數(shù)據(jù)被更改,保證數(shù)據(jù)的完整性,還可以通過加密來實現(xiàn)身份驗證,確認數(shù)據(jù)來自特定的用戶[1]。

        “加密”就是通過一些公式和法則,把明文(plaintext)加密而產(chǎn)生的經(jīng)過編碼的數(shù)據(jù)(也稱為密文,ciphertext)。解密是將密文還原為明文的過程,是加密的逆處理。

        1.2 常用加密技術簡介

        加密技術應用最廣泛的主要有兩類:對稱密鑰算法和非對稱密鑰算法。

        對稱密鑰算法的發(fā)送者和接收者雙方使用相同的密鑰。對稱加密算法的特點是算法公開、高效、快速、簡單。主要的加密算法有:DES、RC2、RC5、3DES(Triple DES)和AES(Rijndael)系列加密算法[3]。

        非對稱密鑰加密使用一組公共/私人密鑰,加密時使用公鑰,解密時使用私鑰。用戶可用公開密鑰加密數(shù)據(jù),但只能用相應的私鑰進行解密,如RSA算法等。

        1.3 .NET提供的加密技術

        ASP.NET中有多種加密算法,如DES、RSA、MD5、3DES、AES(Rijndael)等。這些有關加密類都在System.Web.Security[1]和System.Security.Cryptography命名空間,這個命名空間包含加密與簽名相關的類,安全的數(shù)據(jù)編碼和解碼,以及許多其他算法操作,如HASH、隨機數(shù)字等算法。列出幾種.NET Framework提供的常用加密類:

        DES:DESCryptoServiceProvider;

        Rijndael(AES):RijndaelManaged;

        3DES:TripleDESCryptoServiceProvider;

        MD5:MD5CryptoServiceProvider;

        RSA:RSACryptoServiceProvider。

        2 DES加密在其他開發(fā)平臺的應用

        2.1 Java中的DES加密與解密

        作為微軟開發(fā)平臺.NET的競爭對手Java EE是企業(yè)級開發(fā),也作為Web開發(fā)的Java框架,同樣提供了豐富的類庫及接口,方便用戶開發(fā)操作。

        Java的javax.crypto包提供了有關密碼、密鑰使用的接口與類。javax.crypto.Cipher類提供加密和解密功能,調(diào)用它的靜態(tài)方法getInstance,可以返回一個Cipher對象,格式為:Cipher.getInstance(“加密算法/工作模式/填充方案”),也可只有加密算法。默選ECB模式,填充PKCS5Padding作為默認的填充方案。

        加密過程: Cipher DEScipher1=Cipher.getInstance("DES/ECB/PKCS5Padding");

        DEScipher1.init(Cipher.ENCRYPT_MODE, key, iv);

        解密過程: Cipher DEScipher1=Cipher.getInstance("DES/ECB/PKCS5Padding");

        DEScipher1.init(Cipher.DECRYPT_MODE, key, iv)。

        JavaME版主要用于開發(fā)消費電子設備,如PDA、移動電話等。因為Java開源項目很多,Java的開發(fā)工具Eclipse可安裝adt插件,與Android sdk連接,在Eclipse中使用Android模擬器進行程序調(diào)試等,可用于開發(fā)手機APP。

        2.2 Android Studio開發(fā)中的加密與解密

        Android Studio(AS)是谷歌推出的新的Android開發(fā)環(huán)境,支持Java與C++語言。

        基于Java語言的Android SDK中有一個類Cipher,它構造一個用于加密的實例化對象cipher1,具體操作為:

        Cipher cipher1=Cipher.getInstance("DES/CBC/PKCS5Padding")。

        括號中的3個參數(shù)需要傳入[4],參照2.1所述。DES算法廣泛應用于手機APP、機頂盒、POS機、銀行自助終端、高速公路收費、磁卡及智能卡(IC卡)等領域,實現(xiàn)核心數(shù)據(jù)的保密[5]。若是嵌入式開發(fā),首選AS或是Eclipse。

        3 設計加密解密函數(shù)類

        DES算法速度較快,適用于加密大量數(shù)據(jù)的場合。DES使用的密鑰key為8字節(jié),初始向量IV是8字節(jié)。

        標準DES對稱加密應用的開發(fā)環(huán)境為VS.net,C#語言。在ASP.NET頁面對傳輸數(shù)據(jù)和數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進行加密解密,實現(xiàn)數(shù)據(jù)安全。類DESCryptoServiceProvider加密方法為CreateEncryptor(),解密方法為CreateDecryptor()。使用中不需要理解復雜的密碼學原理,直接運用即可。

        3.1 設計加密函數(shù)

        在網(wǎng)站App_Code文件夾下添加類文件UserData.cs,在這個類中自定義加密與解密函數(shù)。

        需要引入命名空間using System.Security.Cryptography。

        加密過程:public string EncryptDes(string EncryptStr)

        { string strkey="flower12";

        DESCryptoServiceProvider des = new DESCryptoServiceProvider();

        ……

        CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

        ……}

        此函數(shù)對字符串進行加密,字符串變量為strkey,賦值“flower12”,提供相同的key與IV,也可取不同的值。

        3.2 設計解密函數(shù)

        查詢使用數(shù)據(jù)時需要解密。解密函數(shù)DecryptDes()部分代碼:

        DESCryptoServiceProvider des=new DESCryptoServiceProvider();

        des.Key=ASCIIEncoding.ASCII.GetBytes(strkey);

        ……

        CryptoStream cs=new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);

        4 使用已設計的類

        加密與解密函數(shù)包含在類文件UserData中,先實例化,然后調(diào)用已定義的函數(shù)。代碼如下:

        UserDatamyud=new UserData();//實例化

        4.1 加密ASP.NET頁面表單輸入?yún)^(qū)

        常用的網(wǎng)頁上有提交信息表單,若上傳服務器的內(nèi)容涉及隱私,需要對字符串進行加密;用戶登錄表單中,對密碼框里數(shù)據(jù)進行加密處理;在登錄驗證時,用戶輸入的密碼通過DES加密后和數(shù)據(jù)庫中的密碼進行比較,如果一致則實現(xiàn)用戶登錄,登錄界面如圖1所示。

        圖1 登錄界面

        對密碼框字符串加密:myud.EncryptDes(PWD.Text),加密指定字符串,即myud.EncryptDes(str)。

        4.2 加密數(shù)據(jù)庫存儲的數(shù)據(jù)

        把加密后的密文數(shù)據(jù)寫入adminuser表內(nèi),例如密碼字段,可插入如下記錄:

        objcmd.Parameters.Add("@密碼",OleDbType.Char).Value=EncryptDes(password);

        objcmd.CommandText="insert into adminuser(用戶名,密碼) values(?,?)";

        圖2中示例兩條記錄,相同的密碼值,第一條是密文保存,第二條是原文。

        圖2 數(shù)據(jù)表內(nèi)容

        調(diào)用解密函數(shù),獲得原文字符串:myud.DecryptDes(str);//解密。

        圖3是對指定字符串的加密與解密,結果放入文本框中。

        想要滿足更加安全的信息保密,可以選擇混合加密的方式,如DES結合RSA等;或選用其他方式對字符串加密解密,例如三重數(shù)據(jù)加密算法3DES(TripleDES)[6],其加密封裝類TripleDESCryptoServiceProvider,使用與DESCryptoServiceProvider相似,3DES則使用24字節(jié)的key,位數(shù)更多,加密可靠性更高,初始向量IV也是8字節(jié)。

        圖3 加密解密字符串

        5 ASP.NET開發(fā)技術中數(shù)據(jù)安全

        5.1 ASP.NET頁面安全

        本文只討論一般企事業(yè)單位網(wǎng)站,為了保證一些數(shù)據(jù)的安全,需要進行加密的內(nèi)容有客戶端與Web服務器之間數(shù)據(jù)傳遞、用戶識別、文件保密、數(shù)據(jù)庫安全等問題。選擇DES加密算法快捷、高效、無延遲,適用于普通網(wǎng)站安全保密。安全要求更高的網(wǎng)站或頁面可以使用3DES、RSA等更復雜有效的加密方式。ASP.NET應用程序的安全受程序中的相關內(nèi)容制約,如數(shù)據(jù)庫連接、與Web服務器交互的表單、用戶驗證等,這也是ASP.NET頁面安全的主要內(nèi)容。

        通過簡單的DES數(shù)據(jù)加密,實現(xiàn)了表單傳輸數(shù)據(jù)加密,對數(shù)據(jù)庫中部分字段屬性值存儲的重要數(shù)據(jù)及隱私信息可以進行加密處理,需要原文數(shù)據(jù)時可以用相應的解密函數(shù)進行解密,實現(xiàn)數(shù)據(jù)存儲的安全。

        5.2 .NET其他數(shù)據(jù)安全

        ASP.NET安全設置有多種方式:(1)ASP.NET的安全認證,有“Windows/Form”等驗證模式;(2)使用Login登錄控件里封裝的Membership類驗證用戶并管理用戶;(3)在Web.config保存加密的數(shù)據(jù)庫連接字符串;(4)同一網(wǎng)站多個網(wǎng)頁之間的數(shù)據(jù)可以用session對象來控件訪問。

        對于表單輸入?yún)^(qū)的數(shù)據(jù),數(shù)據(jù)庫中字段數(shù)據(jù)的加密過程,只能在網(wǎng)頁中用代碼進行加密。

        6 結束語

        DES數(shù)據(jù)加密標準將被新型加密標準AES(Rijndael)取代[7],AES(Rijndael)、RSA等算法的應用將越來越廣泛。NET對加密和解密算法的有效封裝,讓程序開發(fā)人員的開發(fā)工作變得簡單、高效。隨著ASP.NET和Web Service技術在各個領域的廣泛應用,其他各類加密強度高、破解更難的加密算法,如3DES,RC5,MD5等應用將越來越廣泛。

        任何一種安全的技術來保障數(shù)據(jù)的安全,都具有相對性,再復雜有效的加密也有可能被攻擊、破解,只有增強安全防范意識,才能夠保證數(shù)據(jù)信息的安全。

        [1] 劉友生.基于構件的ASP.NET(C#)網(wǎng)站開發(fā)教程[M].北京:化學工業(yè)出版社,2012.

        [2] 李萍,王得燕,楊文珺.ASP.NET(C#)動態(tài)網(wǎng)站開發(fā)案例教程[M].北京:機械工業(yè)出版社,2011.

        [3] 黃華.ASP.NET中加密和解密的實現(xiàn)方法[J].淮陰工學院學報,2005,14(1):41-43.

        [4] 孫語澤,遲嘉,胡亮,等.一種基于DES加密算法的Android平臺與服務器通信加密的實現(xiàn)[J].東北師大學報:自然科學版,2015,47(3):78-82.

        [5] 漆世錢.基于VC++的DES加密算法實現(xiàn)[J].自動化技術與應用,2014,33(12):25-27.

        [6] 呂攀,吳海濤.兩種加密技術共同構建安全的ASP.NET數(shù)據(jù)訪問[J].計算機時代,2005(5):7-8.

        [7] 羅光明.基于AES和RSA的網(wǎng)絡數(shù)據(jù)加密方案[J].現(xiàn)代電子技術,2015,38(9):87-89.

        [責任編輯:李 莉]

        Application of data encryption and deciphering based on DES algorithm in the ASP.NET

        FENG Jing

        (Department of Computer Science and Technology, Huaibei Vocational & Technical College,Huaibei 235000, China)

        Data encryption is the critical process to ensure the security of the Internet. ASP.NET 2.0 and Visual Studio 2005 made everything easier by introducing the Web site of development, and it is now widely used system of development and application. The general encryption arithmetic are encapsulated into packet in .NET Framework. The program base on DES algorithm is easy and simple to implement that generates a small amount of calculation and rapid information processing. By writing user defined function of data encryption and data decryption which can reuse, calling these functions to implement the encryption protect of Web page data and ensure the information security. At last,the paper proposed AES algorithm with greater encryption technology and other applications.

        ASP.NET; DES algorithm; data encryption

        2016-09-10

        2016-10-20

        安徽省高校自然科學研究項目(KJ2015A315)

        馮菁(1974—),女,上海市人,淮北職業(yè)技術學院高級工程師,碩士,主要研究方向為數(shù)據(jù)挖掘。

        1673-2944(2017)02-0064-05

        TP311

        A

        猜你喜歡
        字符串加密算法解密
        解密“熱脹冷縮”
        解密“一包三改”
        少先隊活動(2020年9期)2020-12-17 06:17:31
        炫詞解密
        基于小波變換和混沌映射的圖像加密算法
        Hill加密算法的改進
        解密“大調(diào)解”
        一種新的基于對稱性的字符串相似性處理算法
        對稱加密算法RC5的架構設計與電路實現(xiàn)
        基于Arnold變換和Lorenz混沌系統(tǒng)的彩色圖像加密算法
        依據(jù)字符串匹配的中文分詞模型研究
        免费在线观看一区二区| a级毛片100部免费观看| 无码a∨高潮抽搐流白浆| 精品亚洲午夜久久久久| 亚洲一区有码在线观看| 日本av一区二区三区视频| 免费国产黄网站在线观看可以下载| 亚洲产国偷v产偷v自拍色戒| 亚洲不卡av不卡一区二区| 亚洲一品道一区二区三区| 国产综合精品| 久久tv中文字幕首页| 免费无码AⅤ片在线观看| 粉嫩的极品女神尤物在线| 久久青青草原精品国产app| 国产精品香蕉在线观看| 岛国视频在线无码| 亚洲中文字幕精品视频| 色一情一乱一伦| 日韩手机在线免费视频| 精品少妇后入一区二区三区| 媚药丝袜美女高清一二区| 国产盗摄xxxx视频xxxx| 久久久久亚洲精品美女| av在线不卡一区二区三区| 男吃奶玩乳尖高潮视频| 亚洲精品国产av成拍色拍| 国产在线欧美日韩精品一区二区| 亚洲性日韩一区二区三区| 挺进邻居丰满少妇的身体| 丁香五月缴情综合网| 国产一区二区内射最近人| 黄射视频在线观看免费| 男男啪啪激烈高潮cc漫画免费| 一本久道久久综合五月丁香| 午夜视频手机在线免费观看| 四虎国产成人永久精品免费| 日韩精品无码久久久久久| 少妇高潮紧爽免费观看| 亚洲人不卡另类日韩精品| 美女视频黄的全免费视频网站|