C#一个字符串的加密与解密
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 加密字符串 /// <summary> /// 加密字符串 /// </summary> /// <param name="str">要加密的字符串</param> /// <returns>加密后的字符串</returns> 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 解密字符串 /// <summary> /// 解密字符串 /// </summary> /// <param name="str">要解密的字符串</param> /// <returns>解密后的字符串</returns> 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#一个字符串的加密与解密的更多相关文章
- 【Java】通过DES加密和解密工具,对字符串进行加密和解密操作
分享一个非常不错的字符串加密和解密的程序. 可以指定不同的密钥对同一字符串进行不同的加密操作,增强加密性能. Java代码如下: package com.app; import java.securi ...
- Java 实现字符串的加密与解密
package com.wangbo.util; import java.security.Key; import java.security.Security; import javax.crypt ...
- java对字符串进行加密和解密(以下是来自其他博主)
背景:需要对读取数据库配置的文件进行加密,防止他人拿到数据,而对自己的代码,有要实现进行解密,网上给的加密方式,什么MD5,base64,还有等等,都太复杂,而且有些是单向的,只加密不解密,以下代码, ...
- ASP.NET数据库连接字符串的加密与解密
ASP.NET web.config中,数据库连接字符串的加密与解密. 虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: ...
- MVC项目实践,在三层架构下实现SportsStore-10,连接字符串的加密和解密
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- js对字符串进行加密和解密方法!
在做一些微信小程序,或混合 app 的时候,或者是考虑到一些 JS 数据安全的问题.可能会使用到 JS 对用户信息进行缓存. 例如在开发:微信小程序对用户进行加密缓存,开发混合APP对用户信息进行加密 ...
- js对字符串进行加密和解密
//字符串进行加密 function compileStr(code){ var c=String.fromCharCode(code.charCodeAt(0)+code.length); fo ...
- C#中对字符串的加密和解密
加密: /// <summary> /// 对字符串进行加密 /// </summary> /// <param name="proclaimText" ...
- ABAP字符串的加密与解密
FIEB_PASSWORD_DECRYPT:字符串解密:FIEB_PASSWORD_ENCRYPT:字符串加密.旧版本的可以用. PARAMETERS:str1 type char32 OBLIGAT ...
随机推荐
- head frist 设计模式学习之 JVM中的博物馆奇妙夜(观察者模式)
博物馆奇妙夜! 博物馆奇妙夜!博物馆奇妙夜!重说三!!!JVM看了<博物馆奇妙夜>电影之后,决定在自己家里开一个博物馆!毕竟需要什么new一下就好,博物馆很快就开起来了,并且任命你为馆长( ...
- C语言中可变参数的用法
原文地址: http://blog.csdn.net/wooin/archive/2006/04/29/697106.aspx 我们在C语言编程中会遇到一些参数个数可变的函数,例如printf() ...
- JSP_DAO方式实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(四)
1.项目结构: 2.创建数据库.表.插入记录 create database TestDao; use TestDao; create table student( stuid int, userna ...
- TI-Davinci开发系列之二使用CCS5.2TI Simulator模拟环境调试DSP程序
上接博文<TI-Davinci开发系列之一CCS5.2的安装及注意事项>. 如何没有实际的开发板或者仿真器,可以使用CCS自带的TISimulator来学习与熟悉CCS开发调试环境.下面是 ...
- 在地图上添加POI
使用Tangram的Marker, 可以在地图上做各种标记, 效果图: Tangram是通过Marker在地图上添加标记的,Marker分Point, Polyline和Polygon三种, 分别对应 ...
- python中的lambda表达
C++中的lambda表达式与C++11增加标准库,是一个简短的匿名的可调用对象,编译器会将其转化为一个匿名类的对象.lambda表达式的最大特点就是简短灵活.调用方便.它不须要处理非常复杂的逻辑.通 ...
- 字符串匹配算法-BM
在用于查找子字符串的算法中,BM(Boyer-Moore)算法是当前有效且应用比较广泛的一种算法,各种文本编辑器的“查找”功能(Ctrl+F),大多采用Boyer-Moore算法.比我们学习的KMP算 ...
- Linux下搭建Oracle11g RAC(4)----配置oracle,grid用户SSH对等性
虽然在安装软件的过程中,oracle会自动配置SSH对等性,建议在安装软件之前手工配置. 配置oracle用户对等性: node1: [root@node1 ~]# su - oracle node1 ...
- angularjs 根据变量改变 动态加载模板
directive return { restrict: 'E', replace: true, templateUrl: 'app/view/order.html', link: function ...
- Go语言学习资料汇总
网站: Go语言官网(访问)(中文镜像) Go语言中文网(访问) Go编译器(访问) Go语言中国社区(访问) golanghome(访问) GoLang中国(访问) Gopher Academic( ...