效果图:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Example46
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label2_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox2.Text.Length == 4)
{
textBox3.Text = new Encrypt().ToEncryt(textBox2.Text, textBox1.Text);
}
else
{
MessageBox.Show("密钥长度不对", "提示");
}
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox5.Text.Length == 4)
{
textBox6.Text = new Encrypt().ToDecryt(textBox5.Text, textBox4.Text);
}
else
{
MessageBox.Show("密钥长度不对", "提示");
}
}
}
}

类文件 :

using System;

using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace Example46
{
public class Encrypt
{
internal string ToEncryt(string encryptKey, string encryptStr)
{
try
{
byte[] P_str_key = Encoding.Unicode.GetBytes(encryptKey); //获得密钥字节序列
byte[] P_str_str = Encoding.Unicode.GetBytes(encryptStr); //获取需要加密的字符串字节序列
MemoryStream P_stream_MS = new MemoryStream(); //创建内存流
CryptoStream P_stream_CS = new CryptoStream(   //创建加密流对象 
P_stream_MS, new DESCryptoServiceProvider().CreateEncryptor(P_str_key, P_str_key),
CryptoStreamMode.Write);
P_stream_CS.Write(P_str_str, 0, P_str_str.Length); //向加密流中写入字节序列
P_stream_CS.FlushFinalBlock(); //将数据压入基础流
byte[] P_str_temp = P_stream_MS.ToArray(); //从内存流中获取数据
P_stream_CS.Close();  //关闭流
P_stream_MS.Close();  //关闭流
return Convert.ToBase64String(P_str_temp);
}
catch (CryptographicException ce)
{
throw new Exception(ce.Message);
}
}
internal string ToDecryt(string encryptKey, string encryptStr)
{
try
{
byte[] P_str_key = Encoding.Unicode.GetBytes(encryptKey); //将密钥转换为字符串
byte[] P_str_str = Convert.FromBase64String(encryptStr); //将加密后的字符串转换为字节序列
MemoryStream P_stream_MS = new MemoryStream(P_str_str);  //创建内存流对象并写入数据
CryptoStream P_stream_CS = new CryptoStream(P_stream_MS, new DESCryptoServiceProvider().
CreateDecryptor(P_str_key, P_str_key), CryptoStreamMode.Read);  //创建加密流对象 
byte[] P_string_TP = new byte[200];   //创建字节流对象
MemoryStream P_stream_TP = new MemoryStream();  //
int iCount = 0; // 创建计数器
while ((iCount = P_stream_CS.Read(P_string_TP, 0, P_string_TP.Length))>0)
{
P_stream_TP.Write(P_string_TP, 0, iCount); //将解密后的数据放入 内存流     
}
return Encoding.Unicode.GetString(P_stream_TP.ToArray()); //返回 内存流 中的字符串
}
catch (CryptographicException ce)
{
throw new Exception(ce.Message);
}
}
}
}

转载于:https://www.cnblogs.com/andy-xsd/archive/2011/10/23/2221698.html

丶对字符串进行加密和解密相关推荐

  1. Web.config中连接字符串的加密和解密

    Web.config中连接字符串的加密和解密  我们采用命令行的方式进行加密和解密.使用ASP.NET2.0提供的命令行工具aspnet_regiis.exe,该应用程序位系统目录下Microsoft ...

  2. java 字符 加密_Java 字符串的加密与解密

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 为了保证程序的安全,经常需要用到数据加密的方法.Java 中提供了专门用于加密运算的类和接口. 除了使用加密类和接口外,还可以通过多种方式实现字符串的加密 ...

  3. DES加密和解密工具,可以对字符串进行加密和解密操作

    DES加密和解密工具,可以对字符串进行加密和解密操作 import java.io.UnsupportedEncodingException;import java.security.Key;impo ...

  4. java 异或加密 字符串_Java 字符串的加密与解密

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 为了保证程序的安全,经常需要用到数据加密的方法.Java 中提供了专门用于加密运算的类和接口. 除了使用加密类和接口外,还可以通过多种方式实现字符串的加密 ...

  5. C语言实现字符串的加密和解密

    C语言文章更新目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分 ...

  6. autojs加解密,文本/字符串的加密和解密脚本源码分享

    说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...

  7. C语言中对字符串的加密和解密

    在对一个指定的字符串加密之后,利用解密函数能够对密文解密,显示明文信息,加密的方式是将字符串中每个字符加上它在字符串中的位置和一个偏移值5,以字符串"mrsoft"为例,第一个字符 ...

  8. php对字符串进行加密、解密

    /**对字符串进行加密.* @param $txt* @param string $key* @return string*/ public static function lockString($t ...

  9. js对字符串进行加密和解密

    function compileStr(code){ //对字符串进行加密 var c=String.fromCharCode(code.charCodeAt(0)+code.length); for ...

最新文章

  1. python3 _笨方法学Python_日记_DAY3
  2. 20分钟教你搞懂Git!
  3. tensorflow对应的python版本清单
  4. soalris小記...
  5. [YTU]_2917(Shape系列-3)
  6. formal method online checking tool
  7. ORA-01109:数据库无法启动问题
  8. react源码解析之stack reconciler
  9. h5 端图片上传-模拟多张上传
  10. 交大计算机学硕往年录取情况,上海交通大学2020年考研报录情况汇总及分析
  11. jsonrpc(jsonrpc4j)demo
  12. 石榴——转自田维《花田半亩》
  13. 今天教大家怎么用Unity制作简单的AR
  14. 计算机二级Python第二弹课后题来袭!冲冲冲!!!
  15. 云影数码工作室-创业计划书
  16. 如何统计网站的在线人数呢?
  17. SIP注册信令消息示范及解释
  18. 爬虫_app 4 app数据抓取入门
  19. 考研英语为什么要被单词书?
  20. BitDefender Internet Security 2009注册机

热门文章

  1. Spring Cloud 学习笔记(三) 之服务治理模块Spring Cloud 服务发现与消费
  2. 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
  3. 9、MySQL逻辑架构介绍
  4. 《精解Windows8》——1.2 告别开始按钮进入“开始”屏幕时代
  5. Omi v1.0震撼发布 - 令人窒息的Web组件化框架
  6. struts配置json需要的jar包
  7. maven笔记(2)
  8. EXCEL 自定义格式(一)
  9. 关于FlasCC(Adobe Flash C/C++ Compiler)
  10. 电影混混天团经典的台词