des一共就有4個引數參與運作:明文、密文、金鑰、向量。其中這4者的關係可以理解為:
為什麼要向量這個引數呢?因為如果有一篇文章,有幾個詞重複,那麼這個詞加上金鑰形成的密文,仍然會重複,這給破解者有機可乘,破解者可以根據重複的內容,猜出是什麼詞,然而一旦猜對這個詞,那麼,他就能算出金鑰,整篇文章就被破解了!加上向量這個引數以後,每塊文字段都會依次加上一段值,這樣,即使相同的文字,加密出來的密文,也是不一樣的,演算法的安全性大大提高!
下面給出des加、解密的.net封裝版:
usingsystem;aes是美國聯邦**採用的商業及**資料加密標準,預計將在未來幾十年裡代替des在各個領域中得到廣泛應用。aes提供128位金鑰,因此,128位aes的加密強度是56位des加密強度的1021倍還多。假設可以製造一部可以在1秒內破解des密碼的機器,那麼使用這台機器破解乙個128位aes密碼需要大約149億萬年的時間。usingsystem.text;
usingsystem.security.cryptography;
usingsystem.io;
namespace開發測試
/// ///獲取金鑰
///
private static stringkey
}/// ///獲取向量
///
private static stringiv
g\mk@k%:~y"; }
}/// ///des加密
///
/// 明文本串
/// 密文
public static string encrypt(stringplainstr)}}
catch
des.clear();
returnencrypt;
}/// ///des解密
///
/// 密文字串
/// 明文
public static string decrypt(stringencryptstr)}}
catch
des.clear();
returndecrypt;}}
}
下面給出aes加解密的.net封裝版:
usingsystem;md5和sha1雜湊通常被用於密碼中,很多人稱其為雜湊演算法,實際上它正確應該叫做雜湊演算法。雜湊是不可逆的,也就是沒有了"解密"這個說法。usingsystem.text;
usingsystem.security.cryptography;
usingsystem.io;
namespace開發測試
/// ///獲取金鑰
///
private static stringkey
gefcaj
}/// ///獲取向量
///
private static stringiv
}/// ///aes加密
///
/// 明文本串
/// 密文
public static string encrypt(stringplainstr)}}
catch
aes.clear();
returnencrypt;
}/// ///aes解密
///
/// 密文字串
/// 明文
public static string decrypt(stringencryptstr)}}
catch
aes.clear();
returndecrypt;}}
}
下面給出md5與sha128雜湊的.net的system.web快速實現版:
usingsystem;全面版:usingsystem.text;
usingsystem.io;
namespace開發測試
//32位大寫md5雜湊
public static string md5(stringstr)
//大寫sha1雜湊
public static string sha1(stringstr)}}
usingsystem;usingsystem.text;
usingsystem.io;
usingsystem.security.cryptography;
namespace開發測試
//16位元組,128位
public static string md5(stringstr)
//20位元組,160位
public static string sha128(stringstr)
//32位元組,256位
public static string sha256(stringstr)
//48位元組,384位
public static string sha384(stringstr)
//64位元組,512位
public static string sha512(stringstr)}}
C 加密解密
using system using system.text using system.globalization using system.security.cryptography class des 加密字串 public string encryptstring string sinputs...
加密解密 c
include stdafx.h 常量 define c1 52845 define c2 22719 cstring encrypt cstring csdecode,word key 加密函式 csdecode result 儲存結果 result.empty 清除結果 for i 0 i re...
c 加密解密
很多地方需要用到針對字串進行加密,傳輸到目的地後再進行解密,又或者針對比如密碼進行加密後儲存到資料庫,用的時候進行直接比較或者解密後比較.比如我寫了乙個加密演算法,然後將 123456789 進行加密,得到密文 k355jm9somny8jhhygoy1axkfm4 tnxwess7 由於我的加密演...