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 ...
随机推荐
- PC-网络教程之宽带小型组网方案
由于某些家庭或小型局域网用户的各种需求和设备不同,所以继续写出几个组网方案让大家参考参考.如有错误之处,欢迎大家多多指点. 1,用网桥实现增加接入点(比如你有5台机子要上网,而你的小型路由只有4个接口 ...
- Java 字符转码之UTF-8转为GBK/GB2312
java跟python类似的做法,在java中字符串的编码是java修改过的一种Unicode编码,所以看到java中的字符串,心理要默念这个东西是java修改过的一种Unicode编码的编码. pa ...
- UVA 10194 Football (aka Soccer)
Problem A: Football (aka Soccer) The Problem Football the most popular sport in the world (america ...
- 中文乱码问题(使用Servlet3.0新特性实现文件上传——上传文件名中文乱码问题)
问题描述:就是文件传送过来的文件名等是乱码 解决方法:将传送的JSP页面(即含有表单的页面)的页面编码方式改为: <%@ page contentType="text/html; ch ...
- 仿path菜单button的实现
path刚出来时.其菜单button也算是让大多数人感到了惊艳,如今看来事实上是非常easy的就是动画的结合. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...
- qt中如果用qDebug输出彩色调试信息
Linux: 在终端输出彩色信息有点类似于html的语法,即在要输出的文字前加上转义字符. 指令格式如下\033[*m 这里的*就是转义字符,例如我们要输出一段绿色的文字 qDebug(" ...
- 【转】C++:在程序中获取全球唯一标识号(GUID或UUID)
Windows:使用CoCreateGuid函数(GUID) #include <objbase.h> #include <stdio.h> #define GUID_LEN ...
- hdu2045java递推
不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- 利用mysql中的SQL_CALC_FOUND_ROWS 来实现group by后的记录数统计
最近正在做一个显示消息的列表页,列表页中需要根据一个字段来分组显示.并且需要一个分页的效果. 大家也知道group by 后的数据是每一组一行记录,统计分组后的总的记录数又不能用count,所以SQL ...
- c# 前端写代码的情况
<%for(int i=0;i<list_model.Count;i++) { %> <div style=" padding-left:35px;padding-r ...