usingsystem;
using
system.io;
using
system.security.cryptography;
using
system.text;
namespace
gt.common.des
if (string
.isnullorwhitespace(siv))
icryptotransform ct;
memorystream ms;
cryptostream cs;
byte
byt;
mcsp.key =convert.frombase64string(skey);
byte biv=encoding.default.getbytes (siv);
mcsp.iv =biv;
//指定加密的運算模式
mcsp.mode =system.security.cryptography.ciphermode.ecb;
//獲取或設定加密演算法的填充模式
mcsp.padding =system.security.cryptography.paddingmode.pkcs7;
ct = mcsp.createencryptor(mcsp.key, mcsp.iv);//
建立加密物件
byt =encoding.utf8.getbytes(value);
ms = new
memorystream();
cs = new
cryptostream(ms, ct, cryptostreammode.write);
cs.write(byt,
0, byt.length);
cs.flushfinalblock();
cs.close();
return
convert.tobase64string(ms.toarray());
}catch
(exception ex)
}//////
解密字串
/// ///
加密後的字串
///金鑰,必須32位
///向量,必須是12個字元
///解密後的字串
public
string decryptstring(string value, string skey, string
siv)
if (string
.isnullorwhitespace(siv))
icryptotransform ct;
//加密轉換運算
memorystream ms;//
記憶體流 cryptostream cs;//
資料流連線到資料加密轉換的流
byte
byt;
//將3des的金鑰轉換成byte
mcsp.key =convert.frombase64string(skey);
//將3des的向量轉換成byte
mcsp.iv =encoding.default.getbytes(siv);
mcsp.mode =system.security.cryptography.ciphermode.ecb;
mcsp.padding =system.security.cryptography.paddingmode.pkcs7;
ct = mcsp.createdecryptor(mcsp.key, mcsp.iv);//
建立對稱解密物件
byt =convert.frombase64string(value);
ms = new
memorystream();
cs = new
cryptostream(ms, ct, cryptostreammode.write);
cs.write(byt,
0, byt.length);
cs.flushfinalblock();
cs.close();
return
encoding.utf8.getstring(ms.toarray());
}catch
(exception ex)
}#endregion
#region key
////public
static
readonly
string key = "
aybcwdefgh1ntv2x3qr4u5o6igklszmp";
//public
static
readonly
string iv = "
85632147";
#endregion
}}
python 封裝3des加解密庫
最近專案需要用到3des加解密,python寫的3des加密速度太慢,所以考慮用c c 完成,專案是在linux部署,而linux中openssl中包括3des加密,而且自己寫的肯定沒有大神們都用的openssl好用,所以決定使用openssl中的加密模組。起初,是想用python直接呼叫,但是需要...
Des與3Des加密解密
des和3des演算法 public class des b ret.tostring return ret.tostring 3des加密 金鑰不能每8位重複,例如 123456781234567812345678,如果這樣則演算法退化為des,c 會檢測,不能使用 明文 金鑰 public st...
iOS AES加密 解密 3DES加密 解密
加密步驟 字串經過aes加密得到nsdata型別,然後在對加密後的nsdata型別進行base64轉碼,得出最終的字串。解密步驟 對要解密的字串進行base64解碼,然後進行解密,得出原字串。首先建立乙個nsdata jkencrypt類別,寫完的.件如下 import inte ce nsdata...