字符串加密,解密一例


.net 里面提供了丰富的加密解密东东,这里只不过用了一个。

public class StringDEProvider
{
#region 内部字段

private SymmetricAlgorithm mCSP;

/// <summary>
/// 密钥|注:必须长度12
/// </summary>
private const string CIV = "MoLiQingCha=";
/// <summary>
/// 初始化向量|注:必须长度12
/// </summary>
private const string CKEY = "Xingmai0216=";

#endregion

#region 实例构造函数

public StringDEProvider()
{
mCSP = new DESCryptoServiceProvider();
}

#endregion

#region 实例方法

/// <summary>
/// 加密字符串
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
public string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;

ct = mCSP.CreateEncryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV));

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());
}


/// <summary>
/// 解密字符串
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
public string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;

ct = mCSP.CreateDecryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV));

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());
}

#endregion
}

优质内容筛选与推荐>>
1、MVC项目中找不到DbContext命名空间
2、编译预处理 -- 带参数的宏定义--【原创】
3、反射机制
4、使用zabbix_agent监控第一台linux服务器
5、牛客假日团队赛11 H 过河卒(路径条数dp)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号