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

Android教學(xué)中信息防盜模塊中的MD5加密應(yīng)用分析

2017-03-25 02:33:26王紅偉王紅紀
科技資訊 2017年3期

王紅偉 王紅紀

摘 要:目前,大多數(shù)的信息管理系統(tǒng)在設(shè)計實現(xiàn)過程中,都設(shè)計有用戶身份驗證的登錄界面。現(xiàn)在用的較多的在線QQ聊天軟件、手機微信聊天軟件、各大銀行銀聯(lián)取款軟件等,程序設(shè)計模塊的第一個模塊就是身份驗證模塊,此模塊對于信息管理系統(tǒng)中數(shù)據(jù)的私密性起到關(guān)鍵性的保護作用。

關(guān)鍵詞:手機app MD5算法 加密

中圖分類號:G712 文獻標識碼:A 文章編號:1672-3791(2017)01(c)-0182-02

高等職業(yè)技術(shù)學(xué)校的專業(yè)開設(shè)與課程體系的構(gòu)建與現(xiàn)代社會發(fā)展需求密切相關(guān)。社會經(jīng)濟大力的發(fā)展的同時,科學(xué)技術(shù)也日新月異。智能手機也逐步走入每個家庭。基于智能手機操作系統(tǒng)的android程序開發(fā)也成為信息類應(yīng)用技術(shù)開發(fā)專業(yè)開設(shè)的必備課程。在Android課程的教學(xué)設(shè)計、教學(xué)實現(xiàn)過程中,各種手機app作為教學(xué)項目走入學(xué)生課堂。像大多數(shù)以往我們所用的各種信息管理系統(tǒng)一樣,手機APP中的信息管理系統(tǒng)在運行開始階段,也加入了用戶身份驗證模塊,信息的加密方式有很多,該文中從加密算法的原理、應(yīng)用等方面分析了Andorid應(yīng)用程序中MD5加密算法。

1 MD5加密算法

加密算法類型有多種,MD5算法屬于散列算法,安全性高。它的過程是不可逆的過程。用戶在界面輸入的兩個不同的密碼值,通過MD5算法之后,不會得到相同的輸出值。反之,根據(jù)輸出值,也不能得到原始的數(shù)據(jù)。所以,要解密MD5是沒有便捷的算法可用的,惟一的能用的方法是窮舉法,即把可能出現(xiàn)的密碼值用MD5算法散列之后,把得到的值與原始數(shù)據(jù)形成一對一的映射表,通過比對從映射表中找出對應(yīng)的原始密碼。

2 MD5的安全性

MD5加密算法的輸出為128位。由于解密過程保用窮舉法,在進行大量數(shù)據(jù)的比對過程中,數(shù)據(jù)驗證計算量超大,因此這種方法費時費力,從而加大的密碼的安全性。出于對MD5加密算法安全性的考慮,另外MD5加密算法可以免費使用,因此加密方法被廣泛使用。對于職業(yè)院校中針對計算機應(yīng)用專業(yè)課程開發(fā)的信息管理系統(tǒng)來說,MD5算法可以用在用戶注冊口令時的加密設(shè)計。

3 MD5加密原理

MD5加密算法的實現(xiàn)過程從開始到輸出結(jié)果分五步驟完成。

第一步先進行補位操作:如果輸入的數(shù)據(jù)位數(shù)不夠的話,要先進行補位操作。MD5算法要求輸入的數(shù)據(jù)位長度對512求余的結(jié)果是448。

第二步是補數(shù)據(jù)長度操作:輸入數(shù)據(jù)用一個64位的數(shù)字表示其原始長度。再把這個數(shù)據(jù)用兩個32位數(shù)表示,得到的數(shù)據(jù)將會是長度為512位的倍數(shù)。這是為了解決后續(xù)數(shù)據(jù)處理中對信息長度的要求。

第三步是初始化MD5參數(shù)操作:MD5在初始化時需要4個十六進制整數(shù)(X1,X2,X3,X4,)作為參數(shù),初始化值是:X1=0X01234567,X2=0X89abcdef,X3=0Xfedcba98,X4=0X76543210。

第四步是進入MD5算法的循環(huán)運算過程:在這個處理過程中用到四個處理函數(shù),它們分別是:

F(x1,x2,x3)=( x1& x2)|((~ x1)& x3)

G(x1,x2,x3)=( x1&z)|( x2&(~ x3))

H(x1,x2,x3)= x1^ x2^ x3

I(x1,x2,x3)= x2^( x1 (~x3))

其中,^是異或,&是與,|是或,~是反符號。

首先把MD5初始化時的4個參數(shù)值保存到(X1、X2、X3、X4)依次保存到四個變量(x1、x2、x3、x4)中。主循環(huán)有四次,每次循環(huán)操作過程中,都要對x1、x2、x3、x4中的其中3個作一次線性函數(shù)運算,然后將所得結(jié)果加上第四個變量,再將所得結(jié)果向右移一個不定的數(shù),并加上x1、x2、x3、x4中的一個。最后計算的結(jié)果取代a、b、c或d中之一。如果x1、x2和x3的對應(yīng)位是獨立和均勻的,那么結(jié)果的每一位也是獨立和均勻的。F是一個逐位運算的函數(shù):如果x1,那么x2,否則x3。函數(shù)H是逐位奇偶操作符。

第五步是MD5算法中的分組數(shù)據(jù)運算過程:把MD5初始化時的四個參數(shù)X1、X2、X3、X4、分別加上x1、x2、x3、x4后的數(shù)據(jù)繼續(xù)運行算法,最后的輸出是由DCBA組成128位結(jié)果(其中A是低位,D為高位)。

4 MD5算法具體實現(xiàn)

手機APP程序設(shè)計的身份驗證功能中,在登錄按鈕的setOnClickListener方法中進行密碼驗證中設(shè)計代碼如下:(登錄按鈕的名字為loginbtn)

String user,pass;

定義變量用于獲取密碼框(此組件名字是password)中用戶輸入的密碼值:pass=password.getText().toString();

用MD5算法對密碼進行加密:String passmd5=MD5(pass);

加密后密碼與存儲密碼進行比較(oldpass是存儲信息中密碼):if(passmd5.equals(oldpass)){//此處是密碼對比成功后的代碼設(shè)置}

設(shè)計MD3()方法,此方法的參數(shù)為字符串變量str, 方法返回的值為字符串newstr:

MessageDigest myDigest=MessageDigest.getInstance(“MD5”);

byte [] myResult= myDigest.digest(password.getBytes());

StringBuilder myString=new StringBuilder();

for( byte myB: myResult){

int num=b&0xff;

String s=Integer.toHexString(num);

if (s.length()==1){ myString .append(“0”+s);}

else { myString .append(+s);}

}//最后的myString就是經(jīng)過MD5算法后得到的結(jié)果數(shù)據(jù)。

5 加密算法的使用建議

在目前所開發(fā)的各種信息系統(tǒng)中,對Md5加密方法的運用主要是在應(yīng)用程序的登錄界面中,對用戶輸入的密碼文本進行加密時直接調(diào)用第四步中定義過的加密函數(shù)進行數(shù)據(jù)處理可以得到加密后的密碼。但是如果將加密后的數(shù)據(jù)直接保存在數(shù)據(jù)庫時,破解者還是可以通過MD5在線查詢或者暴力破解可以得到密碼。所以我們可以在加密的基礎(chǔ)上,對密文進行改變,在密文中截取一段數(shù)據(jù)并丟棄,然后使用隨機函數(shù)填充被丟棄的數(shù)據(jù),且整個過程不改變MD5加密后的位數(shù)。

從軟件安全角度來說,程序使用過程的加密設(shè)置是極其重要的。從程序開發(fā)與設(shè)計角度來說,解密過程也是不可避免的。任何程序的加密設(shè)計方案隨著時間的發(fā)展,最終都會出現(xiàn)相應(yīng)的解密方案來破解。程序設(shè)計中的加密算法多種多樣,該文中MD5加密算法只是在某種程度上保證了程序使用過程中數(shù)據(jù)的相對安全性。

參考文獻

[1] hualang.Android雜談-用MD5加密算法加密密碼[EB/OL].2011.8.http://www.iteye.com/topic/1113569.

[2] 牛耳教育.分析MD5加密算法原理[EB/OL].2010.7.http://blog.sina.com.cn/csneweredu.

[3] Md5加密算法的原理及應(yīng)用[EB/OL].2011.9.http://libin52008.blog.163.com/blog/static/105327187201186981459/淡然.

主站蜘蛛池模板: 日韩a在线观看免费观看| 一级毛片网| 国产精品人莉莉成在线播放| 亚洲天堂视频在线观看| 久久伊人操| 久久亚洲天堂| 日韩毛片在线播放| 国产99视频免费精品是看6| 国产特一级毛片| 欧美成人综合视频| 凹凸国产分类在线观看| 亚洲综合专区| 中文字幕不卡免费高清视频| 亚洲一区波多野结衣二区三区| 久久窝窝国产精品午夜看片| 丝袜无码一区二区三区| 亚洲αv毛片| 精品乱码久久久久久久| 天天干天天色综合网| 免费观看国产小粉嫩喷水| 91精品久久久久久无码人妻| 国产精品爽爽va在线无码观看| 在线观看国产网址你懂的| 啦啦啦网站在线观看a毛片| 免费又爽又刺激高潮网址| 亚洲国产在一区二区三区| 青青青国产视频手机| 国产办公室秘书无码精品| 一级爆乳无码av| 国产高清又黄又嫩的免费视频网站| 中文字幕人成乱码熟女免费| 在线看片国产| 欧美日韩动态图| 青青青伊人色综合久久| 国产一级裸网站| 国产精品视频观看裸模| 亚洲熟妇AV日韩熟妇在线| 久久香蕉国产线看观看精品蕉| 欧美国产日韩在线观看| 欧美国产日韩在线| 亚洲精品视频免费观看| 国产精品自在在线午夜区app| swag国产精品| 亚洲国产日韩一区| 国产美女无遮挡免费视频网站 | 九九九精品成人免费视频7| 国产白浆在线| 免费一级毛片| 91九色国产在线| 亚洲国产日韩一区| 久久精品无码一区二区日韩免费| 久久人人妻人人爽人人卡片av| 欧美一级视频免费| 午夜免费小视频| 婷婷色一二三区波多野衣| 91在线精品免费免费播放| 亚洲男人的天堂久久香蕉网| 丁香综合在线| 国产精品人莉莉成在线播放| 激情综合五月网| 亚洲三级影院| 午夜a级毛片| 直接黄91麻豆网站| 国产门事件在线| 国产在线无码av完整版在线观看| 五月天久久综合| 成年女人18毛片毛片免费| 国产激爽爽爽大片在线观看| 欧美亚洲香蕉| 亚洲伊人久久精品影院| 操国产美女| 喷潮白浆直流在线播放| 黄色污网站在线观看| 国产精品伦视频观看免费| 国产综合精品一区二区| 乱系列中文字幕在线视频 | 亚洲va在线∨a天堂va欧美va| 精品91自产拍在线| 国产成人精品男人的天堂下载 | 91口爆吞精国产对白第三集| 色综合激情网| 伊人无码视屏|