c#加密解密研究

加密:

using System;

using System.IO;

using System.Security.Cryptography;

public class Example19_9

{

public static void Main()

{

// Create a new file to work with

FileStream fsOut = File.Create(@"c:\temp\encrypted.txt");

//Create a new crypto provider

TripleDESCryptoServiceProvider tdes =

new TripleDESCryptoServiceProvider();

// Create a cryptostream to encrypt to the filestream

CryptoStream cs = new CryptoStream(fsOut, tdes.CreateEncryptor(),

CryptoStreamMode.Write);

// Create a StreamWriter to format the output

StreamWriter sw = new StreamWriter(cs);

// And write some data

sw.WriteLine("‘Twas brillig, and the slithy toves");

sw.WriteLine("Did gyre and gimble in the wabe.");

sw.Flush();

sw.Close();

// save the key and IV for future use

FileStream fsKeyOut = File.Create(@"c:\\temp\encrypted.key");

// use a BinaryWriter to write formatted data to the file

BinaryWriter bw = new BinaryWriter(fsKeyOut);

//#CODEGO.NET#  write data to the file

bw.Write( tdes.Key );

bw.Write( tdes.IV );

// flush and close

bw.Flush();

bw.Close();

}

}

解密 :

using System;

using System.IO;

using System.Security.Cryptography;

public class Example19_10

{

public static void Main()

{

// Create a new crypto provider

TripleDESCryptoServiceProvider tdes =

new TripleDESCryptoServiceProvider();

// open the file containing the key and IV

FileStream fsKeyIn = File.OpenRead(@"c:\temp\encrypted.key");

// use a BinaryReader to read formatted data from the file

BinaryReader br = new BinaryReader(fsKeyIn);

// read data from the file and close it

tdes.Key = br.ReadBytes(24);

tdes.IV = br.ReadBytes(8);

// Open the encrypted file

FileStream fsIn = File.OpenRead(@"c:\\temp\\encrypted.txt");

// Create a cryptostream to decrypt from the filestream

CryptoStream cs = new CryptoStream(fsIn, tdes.CreateDecryptor(),

CryptoStreamMode.Read);

// Create a StreamReader to format the input

StreamReader sr = new StreamReader(cs);

//#CODEGO.NET#  And decrypt the data

Console.WriteLine(sr.ReadToEnd());

sr.Close();

}

}

时间: 2024-09-20 05:26:12

c#加密解密研究的相关文章

java加密解密研究6、MD算法家族

一.简述 MD5算法是典型的消息摘要算法,其前身有MD2.MD3和MD4算法,它由MD4.MD3和MD2算法改进而来.不论是哪一种MD算法,它们都需 要获得一个随机长度的信息并产生一个123位的信息摘要.如果将这个128位的二进制摘要信息换算成十六进制,可以得到一个32位的字符串,故我们见到的 大部分MD5算法的数字指纹都是32为十六进制的字符串. MD算法家族的发展史: MD2算法: 1989年,著名的非对称算法RSA发明人之一----麻省理工学院教授罗纳德.李维斯特开发了MD2算法.这个算法

(转)C#实现RSA非对称加密解密

转自:http://blog.csdn.net/u010678947/article/details/48652875 一.RSA简介 RSA公钥加密算法是1977年由Ron Rivest.Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的.RSA取名来自开发他们三者的名字.RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准.RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式

des加密解密——java加密,php解密

最近在做项目中,遇到des加密解密的问题. 场景是安卓app端用des加密,php这边需要解密.之前没有接触过des这种加密解密算法,但想着肯定会有demo.因此百度,搜了代码来用.网上代码也是鱼龙混杂,好不容易测试在php这边测试加密和解密成功了.为确保安卓app端提交过来的加密参数能够解密出来,给定安卓人员一个字符串,让他们把des加密后的字符串给我,在php这边解密.结果一看,加密出来的字符串跟我这边加密出来的结果不一致,自然是解密不出来. 要来java的des算法代码,研究加密的过程,其

.NET/andriod/java/iOS AES通用加密解密

移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输.今天研究了一下,把几种语言的加密都实践了一遍,实现了.NET,java(andriod),iOS都同一套的加密算法,下面就分享给大家. AES加密有多种算法模式,下面提供两套模式的可用源码. 加密方式: 先将文本AES加密 返回Base64转码 解密方式: 将数据进行Base64解码 进行AES解密 一.CBC(Cipher Blo

使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据

本文全部源代码下载:/Files/chnking/EncryptLongData.rar 一.  使用证书结合对称加密算法加.解密长数据 上一章节讨论了如何使用RSA证书加密数据,文中提到:“Dotnet的RSA实现有个特点,它必须要在明文中添加一些随机数,所以明文不能把128字节占满,实际测试,明文最多为117字节,留下的空间用来填充随机数”.也就是说对于1024位密钥的RSA来说,一次只能加密128字节的数据,对于Dotnet的RSA实现更是只能加密117个字节的数据. 这就引出一个问题,超

JS_七种JAVASCRIPT加密/解密方法

本文一共介绍了七种JAVASCRIPT加密方法. 一:最简单的加密解密 二:转义字符的妙用 三:使用Microsoft出品的脚本编码器Script Encoder来进行编码 (自创简单解码) 四:任意添加NUL空字符(十六进制00H) (自创) 五:无用内容混乱以及换行空格TAB大法 六:自写解密函数法 七:错误的利用 在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JAVASCRIPT代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西

JavaScript加密解密7种方法总结分析

原文地址:http://wenku.baidu.com/view/9048edee9e31433239689357.html 本文一共介绍了七种javascript加密方法: 在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的javascript代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西也挺累的......^*^ 但我们也应该清楚地认识到因为javascript代码是在IE中解释执行,要想绝对的保密是不可能的,我们要做的就是尽可能

【转】 iOS DES ECB模式对称加密解密

最近忙于android和iOS的项目,写完了android的DES 的ECB模式加密解密(相关连接:http://blog.csdn.net/vipa1888/article/details/8086037),又 回到了Ios上面,因为本人也是最近今年开始研究ios的,所以Ios上面好多东西都不懂,进过了半年的研究,终于吧ios的DES 的ECB模式对称加密解密搞定了,本人遇到的问题很严重的问题,网上写的好多16进制数转化位字节都有问题的,经过本人研究发现他们有一个地方写错了,导 致解密后的NS

加密解密与OpenSSL建立私有CA

安全规范: 1)NIST规定的数据安全性标准: ①保密性:数据保密性:隐私性: ②完整性:数据完整性:系统完整性 ③可用性:数据与服务随时可用 2)OSI,X.800:定义了安全攻击,安全机制,安全服务 ①安全攻击 被动攻击:监听 主动攻击:报文伪装.重放.消息篡改.拒绝服务(将有限资源耗尽,使得正常资源无法访问DDOS) ②安全机制 加密/解密,数字签名,访问控制,数据完整性保证,认证交换,数据填充,路由控制,人为公证 ③安全服务 认证 访问控制 数据保密性: 连接保密性 无连接保密性 选择域