md5加密的使用
A. jmeter如何使用使用MD5加密
方法/步驟
1、創建java文件:在指定的報名上右鍵單擊-》new-》class文件,
2、在彈出的窗口中填寫class文件名稱,點擊確定,生成java文件,
3、編寫加密代碼,使用md5將賬號和密碼組合加密。
4、編寫解密代碼,將上一步加密的密碼,傳入解密方法解密,
B. MD5加密是什麼一般用在什麼地方有用嘛
文件簽名。
MD5在論壇上、軟體發布時經常用,是為了保證文件的正確性,防止一些人盜用程序,加些木馬或者篡改版權,設計的一套驗證系統。每個文件都可以用MD5驗證程序算出一個固定的MD5碼來。軟體作者往往會事先計算出他的程序的MD5碼並帖在網上。因此,在網上看到某個程序下載旁註明了MD5碼時,可以把它記下來,下載了這個程序後用MD5驗證程序計算你所下載的文件的MD5碼,和你之前記下MD5碼比較,就知道你下的是不是原版了,如果兩者相同,那麼你所下載的是原版。如果計算出來的和網上註明的不匹配,那麼你下載的這個文件不完整,或是被別人動過手腳。
自己寫的,不知道講清楚沒有
更詳細的資料和WinMD5 V1.1 漢化版(最終版)驗證程序下載:
http://www1.skycn.com/soft/20348.html
找了點有關的資料:
——————————————————
MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc發明,經MD2、MD3和MD4發展而來。
Message-Digest泛指位元組串(Message)的Hash變換,就是把一個任意長度的位元組串變換成一定長的大整數。請注意我使用了「位元組串」而不是「字元串」這個詞,是因為這種變換只與位元組的值有關,與字元集或編碼方式無關。
MD5將任意長度的「位元組串」變換成一個128bit的大整數,並且它是一個不可逆的字元串變換演算法,換句話說就是,即使你看到源程序和演算法描述,也無法將一個MD5的值變換回原始的字元串,從數學原理上說,是因為原始的字元串有無窮多個,這有點象不存在反函數的數學函數。
MD5的典型應用是對一段Message(位元組串)產生fingerprint(指紋),以防止被「篡改」。舉個例子,你將一段話寫在一個叫 readme.txt文件中,並對這個readme.txt產生一個MD5的值並記錄在案,然後你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現(兩個MD5值不相同)。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的「抵賴」,這就是所謂的數字簽名應用。
MD5還廣泛用於加密和解密技術上,在很多操作系統中,用戶的密碼是以MD5值(或類似的其它演算法)的方式保存的, 用戶Login的時候,系統是把用戶輸入的密碼計算成MD5值,然後再去和系統中保存的MD5值進行比較,而系統並不「知道」用戶的密碼是什麼。
C. 簡單講解iOS應用開發中的MD5加密的使用
一、簡單說明
1.說明
在開發應用的時候,數據的安全性至關重要,而僅僅用POST請求提交用戶的隱私數據,還是不能完全解決安全問題。
如:可以利用軟體(比如Charles)設置代理伺服器,攔截查看手機的請求數據
「青花瓷」軟體
因此:提交用戶的隱私數據時,一定不要明文提交,要加密處理後再提交
2.常見的加密演算法
MD5 SHA DES 3DES RC2和RC4 RSA IDEA DSA AES
3.加密演算法的選擇
一般公司都會有一套自己的加密方案,按照公司介面文檔的規定去加密
二、MD5
1.簡單說明
MD5:全稱是Message Digest Algorithm 5,譯為「消息摘要演算法第5版」
效果:對輸入信息生成唯一的.128位散列值(32個字元)
2.MD5的特點
(1)輸入兩個不同的明文不會得到相同的輸出值
(2)根據輸出值,不能得到原始的明文,即其過程不可逆
3.MD5的應用
由於MD5加密演算法具有較好的安全性,而且免費,因此該加密演算法被廣泛使用
主要運用在數字簽名、文件完整性驗證以及口令加密等方面
4.MD5破解
MD5解密網站:http://www.cmd5.com
5.MD5改進
現在的MD5已不再是絕對安全,對此,可以對MD5稍作改進,以增加解密的難度
加鹽(Salt):在明文的固定位置插入隨機串,然後再進行MD5
先加密,後亂序:先對明文進行MD5,然後對加密得到的MD5串的字元進行亂序
總之宗旨就是:黑客就算攻破了資料庫,也無法解密出正確的明文
代碼示例:
復制代碼 代碼如下:
#import "HMViewController.h"
#import "NSString+Hash.h"
#define Salt @"fsdhjkfhjksdhjkfjhkd546783765"
@interface HMViewController ()
@end
@implementation HMViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self digest:@"123"]; //
[self digest:@"abc"];
[self digest:@"456"];
}
/**
* 直接用MD5加密
*/
- (NSString *)digest:(NSString *)str
{
NSString *anwen = [str md5String];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
/**
* 加鹽
*/
- (NSString *)digest2:(NSString *)str
{
str = [str stringByAppendingString:Salt];
NSString *anwen = [str md5String];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
/**
* 多次MD5
*/
- (NSString *)digest3:(NSString *)str
{
NSString *anwen = [str md5String];
anwen = [anwen md5String];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
/**
* 先加密, 後亂序
*/
- (NSString *)digest4:(NSString *)str
{
NSString *anwen = [str md5String];
// 注冊: 123 ----
// 登錄: 123 ---
NSString *header = [anwen substringToIndex:2];
NSString *footer = [anwen substringFromIndex:2];
anwen = [footer stringByAppendingString:header];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
@end
(1)直接使用MD5加密(去MD5解密網站即可破解)
(2)使用加鹽(通過MD5解密之後,很容易發現規律)
(3)多次MD5加密(使用MD5解密之後,發現還是密文,那就接著MD5解密)
(4)先加密,後亂序(破解難度增加)
三、注冊和驗證的數據處理過程
1.提交隱私數據的安全過程 – 注冊
2.提交隱私數據的安全過程 – 登錄
D. java中使用MD5加密演算法進行加密
在各種應用系統的開發中 經常需要存儲用戶信息 很多地方都要存儲用戶密碼 而將用戶密碼直接存儲亮衫唯在伺服器上顯然是不安全的 本文簡要介紹工作中常用的 MD 加密演算法 希望能拋磚引玉
(一)消息摘要簡介
一個消息摘要就是一個數據塊的數字指紋 即對一個任意敬培長度的一個數據塊進行計算 產生一個唯一指印(對於SHA 是產生一個 位元組的二進制數組) 消息摘要是一種與消息認證碼結合使用以確保消息完整性的技術 主要使用單向散列函數演算法 可用於檢驗消息的完整性 和通過散列密碼直接以文本形式保存等 目前廣泛使用的演算法有MD MD SHA
消息摘要有兩個基本屬性
兩個不同的報文難以生成相同的摘要難以對指定的摘要生成一個報文 而可以由該報文反推算出該指定的摘要代表 美國國家標准技術研究所的SHA 和麻省理工學院Ronald Rivest提出的MD
(二)對字元串進行加密
/***//**利用MD 進行加密*@paramstr待加密的字元串*@return加密後的字元串*塌仔@沒有這種產生消息摘要的演算法*@*/publicStringEncoderByMd (Stringstr) UnsupportedEncodingException {//確定計算方法MessageDigestmd =MessageDigest getInstance( MD );BASE Encoderbase en=newBASE Encoder();//加密後的字元串Stringnewstr=base en encode(md digest(str getBytes( utf )));returnnewstr;}調用函數 String str=
System out println(EncoderByMd (str))
輸出 eB eJF ptWaXm bijSPyxw==
(三)驗證密碼是否正確
/***//**判斷用戶密碼是否正確*@paramnewpasswd用戶輸入的密碼*@paramoldpasswd資料庫中存儲的密碼--用戶密碼的摘要*@return*@*@*/publicbooleancheckpassword(Stringnewpasswd Stringoldpasswd) UnsupportedEncodingException {if(EncoderByMd (newpasswd) equals(oldpasswd))returntrue;elsereturnfalse;} lishixin/Article/program/Java/hx/201311/26374