最近一段時間,集團加強了資安方面的管理,所有敏感的配置位元組都必須經過加密處理,把最近用到的幾個加解密類整理了一下,以做備忘.
其實這兩個類實現的方法差不多,只是有些細微區別:
對稱加密演演算法類 symmetricmethodhelper
using
system;
using
system.io;
using
system.security.cryptography;
using
system.text;
//////
對稱加密演演算法類
///public
class
symmetricmethodhelper
//////
對稱加密類的建構函式
///public
symmetricmethodhelper(
string
key)
//////
獲得金鑰
//////
金鑰private
byte
getlegalkey()
//////
獲得初始向量iv
//////
初試向量iv
private
byte
getlegaliv()
//////
加密方法
//////
待加密的串
///經過加密的串
public
string
encrypto(
string
source)
//////
解密方法
//////
待解密的串
///經過解密的串
public
string
decrypto(
string
source)
}code
using
system;
using
system.text;
using
system.io;
using
system.security.cryptography;
public
class
encryptutil
//////
des解密
//////
///public
static
string
desdecrypt(
string
encryptedtext)
//////
des加密,功能同desencrypt相同
//////
///public
static
string
desencode(
string
cleartext)
//////
des解密,功能同desdecrypt相同
//////
///public
static
string
desdecode(
string
encryptedtext)
catch
descryptoserviceprovider cryptoprovider
=new
descryptoserviceprovider();
memorystream memstream
=new
memorystream(bytearray);
cryptostream crystream
=new
cryptostream(memstream, cryptoprovider.createdecryptor(bykey, byiv), cryptostreammode.read);
streamreader sr
=new
streamreader(crystream);
return
sr.readtoend();
}private
const
string
key_64 ="
mypubkey
";
//公鑰
private
const
string
iv_64 ="
myprikey
";
//私鑰,注意了:是8個字元,64位
} 注意這兩段程式碼標註為紅色部分的差異,其中symmetricmethodhelper類支援超過8位的私鑰,而encryptutil類不支援超過8位的私鑰.
各種加密和解密演算法的實現
stevendataencryption 的摘要說明 public class stevendataencryption 預設金鑰加密演算法 public static byte keys region des加密演算法 des加密方法 要加密的字串 金鑰的位數 public static stri...
加密和解密 delphi實現
加密流程 先把每個字元與自己在字串中的位置異或運算,然後再與金鑰進行異或運算 然後把金鑰加在最後,最後把所得的結果進行base64編碼 解密時反之 先解碼,再解密。function tfrmclassroom.cryptstr const s string stype allint string v...
Java常見加密和解密演算法
byte hex utility class public class bytehexutils return bf.array param bytes public static string bytes2hex byte bytes return result base64 utility cl...