這幾天在寫乙個對檔案進行加密解密的程式,翻了以前在貼過的一段**,稍微整理了一下,寫成乙個方便呼叫的類,並做了注釋。
這裡需要特別說明的是,aes 需要提供2個字串,乙個是key,乙個是iv,並且都有長度要求。但對於一般的加密來說,是比較麻煩的。所以我還提供了乙個方便呼叫的 ****** 方法,只需提供乙個密碼,通過 md5 自動處理為 32 位長度的 key,並擷取其中 16 位作為 iv,這樣在呼叫的時候,也方便許多。
以下是**:
using system.security.cryptography;
using system.text;
// 阿博-style
// www.abo-style.com
namespace abostyle
#endregion
#region encryptor
/// /// 對位元組陣列進行加密
///
/// 要加密的位元組
/// 金鑰(32位)
/// 初始化向量(16位)
/// 加密後的結果
public static byte encryptor(byte bs, string key, string iv)
#endregion
#region decryptor
/// /// 對位元組陣列進行解密
///
/// 要解密的位元組
/// 金鑰(32位)
/// 初始化向量(16位)
/// 解密後的結果
public static byte decryptor(byte bs, string key, string iv)
#endregion
#region ******
/// /// 方便簡單呼叫的加密或解密統一方法
///
/// 是否為加密?true 為加密,false 為解密
/// 要加密或解密的位元組
/// 密碼(任意長度,使用md5處理為32位)
/// 處理後的位元組
public static byte ******(bool encrypt, byte bs, string password)
// key 為 md5
string key = md5.tostring();
// iv 為 md5 中擷取中間的16位字元
string iv = key.substring(8, 16);
// 根據是否加密 呼叫不同的方法
return encrypt ? encryptor(bs, key, iv) : decryptor(bs, key, iv);
}#endregion
}}
aes256加密 關於ssl證書使用的加密套件
一 ciphers是配置ssl證書所需的加密套件,基於openssl。使用者可以控制在協商tls連線時要考慮的密碼。使已知密碼的名稱根據libcurl構建tls後端。ssl協議有sslv2,sslv3,tlsv1,tlsv1.1和tlsv1.2。目前推薦使用的有tlsv1.2,其它協議都存在各種安全...
pycrypto實現AES加密和解密
一 coding utf 8 import string import random from crypto.cipher import aes def keygenerater length 生成指定長度的秘鑰 if length not in 16,24,32 return none x str...
python 實現AES加密和解密
參考 aes加密演算法是一種對稱加密演算法,他有乙個密匙,即用來加密,也用來解密 importbase64 fromcrypto.cipherimportaes 金鑰 key 密斯偏移量 iv cbc模式加密 defaes encrypt key,data vi 0102030405060708 p...