C#对字符串的加解密

说到数据的加密,似乎给话题添加了一股神秘色彩的味道.

我们今天来说说.net中的加密技术,当然,本人才疏学浅,菜鸟一枚,还需要奋斗,这里仅仅是浅谈,非常非常浅的谈 大笑

System.Security.Cryptography 命名空间提供加密服务,其中包括数据的安全编码和解码、哈希、随机数生成和消息身份验证。
.net框架提供了许多标准加密算法的实现,由于明确定义了包含定义基本算法类型(对称、非对称和哈希算法)的抽象类以及算法类的继承等级,因此可以方便地对这些实现进行扩展,就这两句话,可以看到里边门道很多的,水很深的!!! 

对称算法的支持

NET 提供以下的 类 以提供对称的密钥加密算法:
DESCryptoServiceProvider
RC2CryptoServiceProvider
RijndaelManaged

TripleDESCryptoServiceProvider

我这里也就对 TripleDESCryptoServiceProvider类的使用简单的测试一下,大神勿喷!!!可怜

由于,代码比较简单 其他废话不多了,直接上代码的了

 <span style="white-space:pre">	</span>    string myEnounce = "<菜鸟也疯狂>";  //需要被加密的字符串
            TripleDESCryptoServiceProvider key = new TripleDESCryptoServiceProvider();
            MemoryStream ms = new MemoryStream();
            CryptoStream encStream = new CryptoStream(ms, key.CreateEncryptor(), CryptoStreamMode.Write);
            StreamWriter sw = new StreamWriter(encStream,Encoding.UTF8);
            sw.WriteLine(myEnounce);
            sw.Close();
            //将加密后的数据流转换为数组
            byte[] buffer = ms.ToArray();
            //将转换为的中间加密代码保存在123.txt文本文档中
            using (StreamWriter srMidCode = new StreamWriter("C:\\Users\\ZJ\\Desktop\\123.txt") )
            {
                for (int i = 0; i < buffer.Length; i++)
                {
                    srMidCode.Write(buffer[i]);
                   
                }
            }
            //将转换为的中间加密代码在控制台中输出
            for (int i = 0; i < buffer.Length; i++)
            {  
               Console.Write(buffer[i]);
            }
            Console.Write("\n");

            //解密
            ms = new MemoryStream(buffer);
            encStream = new CryptoStream(ms, key.CreateDecryptor(), CryptoStreamMode.Read);
            StreamReader sr = new StreamReader(encStream);
            //输出解密后的内容
            Console.WriteLine(sr.ReadLine());
            key.Clear();
            sr.Close();

            Console.ReadLine();
当然,还需要包含以下的头文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Security.Cryptography;


也没有什么好在阐述的了,最后上一张图片  可以看到 保存在记事本中的中间加密了的数据和控制台输出的是一样的,并且 后边解密也是OK的。


OK ,到此,欢迎拍砖,欢迎不一样的思想抨击,如果大家发现有什么错的,请不要吝啬你们的砖头,狠狠的砸向我吧!!!! 大笑


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值