C 加密演算法彙總

2021-09-05 22:40:03 字數 3534 閱讀 9050

方法一:

//須新增對system.web的引用

using system.web.security;

...

/// /// sha1加密字串

///

/// 源字串

/// 加密後的字串

public string sha1(string source)

/// /// md5加密字串

///

/// 源字串

/// 加密後的字串

public string md5(string source)

方法二(可逆加密解密):

using system.security.cryptography;

...

public string encode(string data)

public string decode(string data)

catch

descryptoserviceprovider cryptoprovider = new descryptoserviceprovider();

memorystream ms = new memorystream(byenc);

cryptostream cst = new cryptostream(ms, cryptoprovider.createdecryptor(bykey, byiv), cryptostreammode.read);

streamreader sr = new streamreader(cst);

return sr.readtoend();

}

方法三(md5不可逆):

using system.security.cryptography;

...

//md5不可逆加密

//32位加密

public string ge***5_32(string s, string _input_charset)

return sb.tostring();

} //16位加密

public static string ge***5_16(string convertstring)

方法四(對稱加密):

using system.io;

using system.security.cryptography;

...

private symmetricalgorithm mobjcryptoservice;

private string key;

/// /// 對稱加密類的建構函式

///

public symmetricmethod()

/// /// 獲得金鑰

///

/// 金鑰

private byte getlegalkey()

/// /// 獲得初始向量iv

///

/// 初試向量iv

private byte getlegaliv()

/// /// 加密方法

///

/// 待加密的串

/// 經過加密的串

public string encrypto(string source)

/// /// 解密方法

///

/// 待解密的串

/// 經過解密的串

public string decrypto(string source)

方法五:

using system.io;

using system.security.cryptography;

using system.text;

...

//預設金鑰向量

private static byte keys = ;

/// /// des加密字串

///

/// 待加密的字串

/// 加密金鑰,要求為8位

/// 加密成功返回加密後的字串,失敗返回源串

public static string encryptdes(string encryptstring, string encryptkey)

catch

} /// /// des解密字串

///

/// 待解密的字串

/// 解密金鑰,要求為8位,和加密金鑰相同

/// 解密成功返回解密後的字串,失敗返源串

public static string decryptdes(string decryptstring, string decryptkey)

catch

}

方法六(檔案加密):

using system.io;

using system.security.cryptography;

using system.text;

...

//加密檔案

private static void encryptdata(string inname, string outname, byte deskey, byte desiv)

encstream.close();

fout.close();

fin.close();

} //解密檔案

private static void decryptdata(string inname, string outname, byte deskey, byte desiv)

encstream.close();

fout.close();

fin.close();

}

using system;

using system.security.cryptography;//這個是處理文字編碼的前提

using system.text;

using system.io;

/// /// des加密方法

///

/// 明文

/// 金鑰

/// 向量

/// 密文

public string desencrypt(string strplain,string strdeskey,string strdesiv)

/// /// des解密方法

///

/// 密文

/// 金鑰

/// 向量

/// 明文

public string desdecrypt(string strcipher,string strdeskey,string strdesiv)

區塊鏈系列 加密演算法彙總

鏈客,有問必答!簡介 蒐羅各種加密演算法 電子郵件傳輸演算法 base64 摘要演算法 md2,md5 sha 256,sha 348,sha 512 hmac ripemd系列,tiger,whirpoll,gost3411以及 hmacripemd系列 hmac包括hmacmd2,hmacmd5...

對稱加密演算法 DES加密演算法

一 對稱加密演算法 對稱加密也稱為常規加密 私鑰或單鑰加密。乙個對稱加密由5部分組成 明文 plaintext 這是原始資訊或資料,作為演算法的輸入。加密演算法 encryption algorithm 加密演算法對明文進行各種替換和轉換。金鑰 secret key 金鑰也是演算法的輸入。演算法進行...

各種加密演算法C

待加密的字串 加密金鑰,要求為8位 加密成功返回加密後的字串,失敗返回源串 public static string encryptdes string encryptstring,string encryptkey catch des解密字串 待解密的字串 解密金鑰,要求為8位,和加密金鑰相同 解...