- 浏览: 54525 次
- 性别:
- 来自: 长沙
最新评论
-
laiyuan:
规范太差了吧,都没注释,完全没达到需要,输出的levelSet ...
字符串多模式匹配算法:关键字过滤技术 -
supercode:
ACCP?
ASP.NET加上水印 -
huqing:
水印 是什么 不懂
ASP.NET加上水印 -
leiwuluan:
.NET截取指定长度汉字超出部分以...代替 -
leiwuluan:
.NET截取指定长度汉字超出部分以...代替
using System.Security.Cryptography; using System.IO; using System.Text; ///MD5加密 public string MD5Encrypt(string pToEncrypt, string sKey) { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt); des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(),CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); StringBuilder ret = new StringBuilder(); foreach(byte b in ms.ToArray()) { ret.AppendFormat("{0:X2}", b); } ret.ToString(); return ret.ToString(); } ///MD5解密 public string MD5Decrypt(string pToDecrypt, string sKey) { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray = new byte[pToDecrypt.Length / 2]; for(int x = 0; x < pToDecrypt.Length / 2; x++) { int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16)); inputByteArray[x] = (byte)i; } des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(),CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); StringBuilder ret = new StringBuilder(); return System.Text.Encoding.Default.GetString(ms.ToArray()); }
using System; using System.Text; using System.Globalization; using System.Security.Cryptography; class DES { // 创建Key public string GenerateKey() { DESCryptoServiceProvider desCrypto = (DESCryptoServiceProvider)DESCryptoServiceProvider.Create(); return ASCIIEncoding.ASCII.GetString(desCrypto.Key); } // 加密字符串 public string EncryptString(string sInputString, string sKey) { byte [] data = Encoding.UTF8.GetBytes(sInputString); DESCryptoServiceProvider DES = new DESCryptoServiceProvider(); DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey); DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey); ICryptoTransform desencrypt = DES.CreateEncryptor(); byte [] result = desencrypt.TransformFinalBlock(data, 0, data.Length); return BitConverter.ToString(result); } // 解密字符串 public string DecryptString(string sInputString, string sKey) { string [] sInput = sInputString.Split("-".ToCharArray()); byte [] data = new byte[sInput.Length]; for(int i = 0; i < sInput.Length; i++) { data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber); } DESCryptoServiceProvider DES = new DESCryptoServiceProvider(); DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey); DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey); ICryptoTransform desencrypt = DES.CreateDecryptor(); byte [] result = desencrypt.TransformFinalBlock(data, 0, data.Length); return Encoding.UTF8.GetString(result); } } class Test { static void Main() { DES des = new DES(); string key = des.GenerateKey(); string s0 = "中国软件 - csdn.net"; string s1 = des.EncryptString(s0, key); string s2 = des.DecryptString(s1, key); Console.WriteLine("原串: [{0}]", s0); Console.WriteLine("加密: [{0}]", s1); Console.WriteLine("解密: [{0}]", s2); } }
发表评论
-
常用表单正则表达式
2010-06-23 16:53 908常用表单正则表达式,仅 ... -
asp.net 页面中添加普通视频的几种方式
2010-06-18 11:29 1040第一种 是通过调用window media player进行 ... -
C#中读取“已注册的文件类型”的图标及读取指定文件图标的方法
2010-04-12 17:02 1593using System; using System.IO; ... -
关于OpenFileDialog的使用
2010-03-11 18:37 1791为了方便同事在日常工作中很快速生成大量数据, 我做 ... -
ASP.NET页面刷新的实现方法总结
2010-02-26 15:44 1344先看看ASP.NET页面刷新的实现方法: 第一: pri ... -
getElementById 与 getElementsByTagName的区别【Javascript】
2010-01-30 14:45 1806在javascript中,操作HTML DOM时,需要经常用到 ... -
javascript实现垂直无缝滚动详解
2010-01-30 14:43 1579无缝滚动可以在flash中 ... -
javascript无缝水平滚动实例
2010-01-30 14:42 2617首先看源代码: <html> <head ... -
分页查询的SQL存储过程
2010-01-29 11:40 659select top 5 * from student ... -
C# Checklistbox用法
2010-01-26 17:54 33071、添加项: checkedListBox1.I ... -
C#实现组合键
2010-01-26 17:25 2019// Ctrl + H if ((Control.Modi ... -
JS实现可拖拽的菜单
2009-11-19 16:56 951Html代码 <html> ... -
认识C#中的委托和事件
2009-11-10 19:53 776【简 介】委托 和 事件在 .Net Framework中的应 ... -
VS2005快捷键大全
2009-11-10 18:25 1732CTRL + SHIFT + B生成解决方案 CTRL + F ... -
CSS+JQuery实现的性感漂亮导航
2009-11-10 18:06 14611.demo.html HTML代码: & ... -
C# WinForm 中批量清除文本框
2009-11-10 16:47 2540/// <summary> ... -
C#类和接口、虚方法和抽象方法及值类型和引用类型的区别
2009-10-13 15:41 11121.C#类和接口的区别接口 ... -
HTML中小meta的大作用
2009-10-13 15:31 663以前一直不知道HTML中的 ... -
javaScript日期时间
2009-09-22 14:09 933JavaScript脚本如下: <script lan ... -
ASP.NET获取客户端IP地址、系统版本、浏览器版本
2009-09-22 13:18 3035using System; using System.Dat ...
相关推荐
C#编写的md5加密解密,含调用例子.有需要的朋友请下载使用
C# .net MD5加密解密工具及加密解密类。使用方便,可直接下载加密解密代码在项目中使用。
MD5加密解密工具,就我所知,MD5的目标是生成摘要。严格来说不是一种加密算法。 不管多长的信息都能生成固定长度的MD5编码的话,必然会有信息丢失。那么光有MD5编码的话是绝对不可能还原信息的。 那网上那些MD5解密...
在C#编程语言中,MD5加密也是一项常用的技术。下面我们将深入探讨C#中MD5加密的相关知识点。 1. **MD5的基本原理** - MD5算法由Ron Rivest于1991年设计,它将输入信息(任意长度)通过一系列复杂的数学运算(包括...
C# MD5加密解密实例,一个小程序,哈哈
本文将深入探讨"C#中的MD5加密解密算法"这一主题,通过分析标题、描述、标签及部分内容,提炼并阐述其中的关键知识点。 ### MD5算法概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能将任意...
在C#中实现MD5加密,可以帮助开发者确保数据在传输或存储过程中的安全性。以下将详细介绍C#中MD5加密的基本原理、使用方法以及在实际应用中的注意事项。 一、MD5概述 MD5是由美国计算机科学家Ronald Rivest设计的,...
C# MD5加密解密源代码,可用于WinForms级WEB开发
本文将详细介绍MD5加密算法的工作原理、C#中的MD5实现以及如何进行加密解密操作。 MD5算法简介: MD5是由美国计算机科学家Ronald Rivest设计的一种强哈希函数,它将任意长度的输入(又叫做预映射)通过一系列的数学...
标题和描述中提到的知识点是关于C#中的MD5加密与解密技术。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希算法,主要用于数据完整性检查和密码学安全领域,如用户密码的存储、文件校验等场景。然而,需要...
### 基于C#开发语言的MD5加密解密方法 #### 一、MD5简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,可生成一个128位(16字节)的散列值,通常用于确保数据的完整性。在网络安全领域,MD5...
C#实现MD5加密 方法一:System.Web.Security 方法二:MD5CryptoServiceProvider
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于数据的校验和加密场景。在IT行业中,MD5常被用来确保数据的完整性和安全性,尤其是在存储密码时,通常会将原始密码转化为MD5哈希值进行存储...
c#语言实现的原始MD5加密算法,支持16位加密和32位加密.
总之,C#中的MD5加密主要用作文件的完整性校验,而不是传统的加密解密。理解哈希函数的工作原理以及其在信息安全中的作用,对于任何IT专业人员都是至关重要的。同时,需要注意的是,对于高安全性的场景,应选择更...
根据给定文件的信息,我们可以总结出关于C#中几种常用加密...通过以上代码示例,我们了解了如何在C#中实现DES加密解密、MD5和SHA256散列函数。这些技术在实际开发中非常有用,尤其是在保护用户数据的安全性和隐私方面。
在提供的压缩包文件中,"ClassMD5.cs"可能是包含了一个自定义MD5加密解密功能的类,你可以通过查看源码来了解具体实现方式。"调用说明.txt"可能包含了如何在你的项目中使用这个类的说明,包括如何初始化对象,调用...
在Winform环境下,C#提供了System.Security.Cryptography命名空间,该命名空间包含了MD5类,允许开发者方便地进行MD5加密和解密操作。然而,需要明确的是,MD5并不支持解密,因为它是一种单向函数,即数据经过MD5...
以下是对标题和描述中提及的10种C#加密解密方式的详细解释: 1. **MD5加密**:MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的数据转化为固定长度的摘要。虽然MD5已经不被认为安全用于...
本文将详细介绍"C#版 DES MD5加密解密测试工具"所涉及的关键技术:DES(Data Encryption Standard)加密、MD5(Message-Digest Algorithm 5)哈希算法,以及C#语言中的注册表读写操作。 首先,DES是一种古老的对称...