当前位置:  编程技术>.net/c#/asp.net

C#对字符串加密与解密的一例代码

    来源: 互联网  发布时间:2014-08-30

    本文导语:  进行字符串的加密与解密,多用在用户名或密码的方面,有时也会对url对行加密与解密,以保证传输过程的安全。 具体代码如下:   代码示例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Secu...

进行字符串的加密与解密,多用在用户名或密码的方面,有时也会对url对行加密与解密,以保证传输过程的安全。

具体代码如下:
 

代码示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static string encryptKey = "Oyea";    //定义密钥
 
        #region 加密字符串
        /// /// 加密字符串
        /// www.
        /// 要加密的字符串
        /// 加密后的字符串
        static string Encrypt(string str)
        { 
            DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();   //实例化加/解密类对象
  
            byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定义字节数组,用来存储密钥 
 
            byte[] data = Encoding.Unicode.GetBytes(str);//定义字节数组,用来存储要加密的字符串
   
            MemoryStream MStream = new MemoryStream(); //实例化内存流对象   
 
            //使用内存流实例化加密流对象
            CryptoStream CStream = new CryptoStream(MStream, descsp.CreateEncryptor(key, key), CryptoStreamMode.Write);  
 
            CStream.Write(data, 0, data.Length);  //向加密流中写入数据   
 
            CStream.FlushFinalBlock();              //释放加密流   
 
            return Convert.ToBase64String(MStream.ToArray());//返回加密后的字符串
        }
        #endregion
 
        #region 解密字符串
        ///
        /// 解密字符串
        ///
        /// 要解密的字符串
        /// 解密后的字符串
        static string Decrypt(string str)
        {   
            DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();   //实例化加/解密类对象 
   
            byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定义字节数组,用来存储密钥 
  
            byte[] data = Convert.FromBase64String(str);//定义字节数组,用来存储要解密的字符串
    
            MemoryStream MStream = new MemoryStream(); //实例化内存流对象   
 
            //使用内存流实例化解密流对象    
            CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write);
 
            CStream.Write(data, 0, data.Length);      //向解密流中写入数据  
 
            CStream.FlushFinalBlock();               //释放解密流   
 
            return Encoding.Unicode.GetString(MStream.ToArray());       //返回解密后的字符串
        }
        #endregion
 
        static void Main(string[] args)
        {
            Console.Write("请输入要加密的字符串:");   //提示输入字符串   
            Console.WriteLine();                  //换行输入
            string str = Console.ReadLine();     //记录输入的字符串   
            string strNew = Encrypt(str);              //加密字符串   
            Console.WriteLine("加密后的字符串:" + strNew);  //输出加密后的字符串   
            Console.WriteLine("解密后的字符串:" + Decrypt(strNew)); //解密字符串并输出  
            Console.ReadLine();
        }
    }
}

    
 
 

您可能感兴趣的文章:

  • C# Split分隔字符串的应用(C#、split、分隔、字符串)
  • C#实现移除字符串末尾指定字符的方法
  • C#实现中英文混合字符串截取的方法
  • C#生成随机字符串的实例
  • C#随机生成Unicode类型字符串
  • c# split分隔字符串使用方法
  • C#统计字符串里中文汉字个数的方法
  • C#中判断字符串是全角还是半角的实现代码
  • C#实体类转换成Json字符串的实现代码
  • C#实现将千分位字符串转换成数字的方法
  • c#转义字符串中的所有正则特殊字符方法示例
  • c# 截断字符串的实现代码
  • C#实现判断字符串中是否包含中文的方法 iis7站长之家
  • c#完美截断字符串代码(中文+非中文)
  • 在c#中把字符串转为变量名并获取变量值的小例子
  • c# split分割字符串的例子
  • C# 去除首尾字符或字符串的方法
  • C#实现判断字符串中是否包含中文的方法
  • c#中分割字符串的几种方法
  • C#中判断、验证字符串是否为日期格式的实现代码
  • C#/.NET字符串加密和解密实现(AES和RSA代码举例)
  • 想做一个对字符串的加密和解密,特向各位高手请教!
  • 非常着急,关于DES加密的,用java加密过的字符串,药用Linux下的C语言来解密,涉及到补位的问题,弄了几天都没有实现,有高手会的,请指点一二!!!!!!!!
  • Android 加密解密字符串详解
  • python字符串加密解密的三种方法分享(base64 win32com)
  • C#常用字符串加密解密方法封装代码
  • java中常用工具类之字符串操作类和MD5加密解密类
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 size():返回字符串中字符的数量
  • 关于字符串的操作,我想得到字符串的长度,和他开始两位组成的新的字符串,例如::
  • C++ Strings(字符串) 成员 c_str():将字符串以C字符数组的形式返回
  • 如何使GDB显示完整的字符串变量,当字符串比较长时。
  • C++ Strings(字符串) 成员 empty():如果字符串为空,返回真
  • php判断字符串在另一个字符串位置的方法
  • C++ Strings(字符串) 成员 length():返回字符串的长度
  • 请教,有关16进制字符串形成2进制字符串的问题!
  • C++ Strings(字符串) 成员 resize():重新设置字符串的大小
  • shell程序:在大文件中查找特定字符串,但该字符串可以跨行
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 怎样判断一个字符串在另一个字符串里面?
  • C++ Strings(字符串) 成员 reserve():保留一定容量以容纳字符串(设置capacity值)
  • 请问怎样从键盘读入一个字符串,怎样连接两个字符串,谢谢
  • C++ Strings(字符串) 成员 swap():交换两个字符串的内容
  • 浅析string类字符串和C风格字符串之间的区别
  • C++ Strings(字符串) 成员 find():在字符串中查找字符
  • 如何用shell实现将指定文件中的指定的字符串替换为我指定的另外的字符串
  • C++ Strings(字符串) 成员 substr():返回某个子字符串
  • 如何将一个双引号”放在一个字符串中,就是在字符串中如何转义一个双引号。谢谢!
  • C++ Strings(字符串) 成员 end():返回一个迭代器,指向字符串的末尾。(最后一个字符的下一个位置)
  • mysql查询字符串替换语句小结(数据库字符串替换)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3