对称加密算法实现C#数据加密
以下是关于对称加密算法的C#数据加密实现代码,大家可以根据需要更改不同的算法,文中以Rijndael算法为例:
- using System;
- using System.IO;
- using System.Security.Cryptography;
- using System.Text;
- namespace DataCrypto
- {
- ///
- /// C#数据加密对称加密算法类
- ///
- public class SymmetricMethod
- {
- private SymmetricAlgorithm mobjCryptoService;
- private string Key;
- ///
- /// 对称加密类的C#数据加密
- ///
- public SymmetricMethod()
- {
- mobjCryptoService = new RijndaelManaged();
- Key = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7";
- }
- ///
- /// 获得密钥
- ///
- /// 密钥
- private byte[] GetLegalKey()
- {
- string sTemp = Key;
- mobjCryptoService.GenerateKey();
- byte[] bytTemp = mobjCryptoService.Key;
- int KeyLength = bytTemp.Length;
- if (sTemp.Length > KeyLength)
- sTemp = sTemp.Substring(0, KeyLength);
- else if (sTemp.Length < KeyLength)
- sTemp = sTemp.PadRight(KeyLength, ' ');
- return ASCIIEncoding.ASCII.GetBytes(sTemp);
- }
- ///
- /// 获得初始向量IV
- ///
- /// 初试向量IV
- private byte[] GetLegalIV()
- {
- string sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk";
- mobjCryptoService.GenerateIV();
- byte[] bytTemp = mobjCryptoService.IV;
- int IVLength = bytTemp.Length;
- if (sTemp.Length > IVLength)
- sTemp = sTemp.Substring(0, IVLength);
- else if (sTemp.Length < IVLength)
- sTemp = sTemp.PadRight(IVLength, ' ');
- return ASCIIEncoding.ASCII.GetBytes(sTemp);
- }
- ///
- /// 加密方法
- ///
- ///
相关推荐
CSDN0BLOG 2020-06-07
yishujixiaoxiao 2020-06-03
wyzxzws 2020-05-26
ahnuzfm 2020-04-19
wordmhg 2020-03-27
hitxueliang 2020-03-23
hilary0 2020-03-01
txlCandy 2020-01-31
cczsmile 2019-12-16
LSurking 2019-10-27
IT互联网技术学习 2016-04-20
xianzhe 2019-09-07
讨厌什么变成什么 2019-08-31
zhuyonge 2013-11-21
微分 2017-01-06
bxqybxqy 2016-11-02
zxshen 2019-07-01
XuYongshi0 2019-06-29