- 浏览: 324377 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
杞哈哈:
你好。我是个新手。去官网也没下载下来那个服务器端。有现成的吗? ...
初探JAXER -
sl514:
http://www.bejson.com
JSON学习 -
sl514:
你可以使用JSON在线格式化、校验、视图工具 http://w ...
JSON学习 -
srg23:
好像在FF下不兼容。
教你怎么使网页全部变成灰色的! -
vera_sq:
你的方法我试过,还是不行呢!
AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题
1、方法一 (不可逆加密) srxljl
public string EncryptPassword(string PasswordString,string PasswordFormat )
...{
string encryptPassword = null;
if (PasswordFormat="SHA1")...{
encryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"SHA1");
}
elseif (PasswordFormat="MD5")
...{ encryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"MD5");
}
return encryptPassword ;
}
...{
string encryptPassword = null;
if (PasswordFormat="SHA1")...{
encryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"SHA1");
}
elseif (PasswordFormat="MD5")
...{ encryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"MD5");
}
return encryptPassword ;
}
2、方法二 (可逆加密)srxljl
public interface IBindesh
...{
string encode(string str);
string decode(string str);
}
public class EncryptionDecryption : IBindesh
...{
public string encode(string str)
...{
string htext = "";
for ( int i = 0; i < str.Length; i++)
...{
htext = htext + (char) (str[i] + 10 - 1 * 2);
}
return htext;
}
public string decode(string str)
...{
string dtext = "";
for ( int i=0; i < str.Length; i++)
...{
dtext = dtext + (char) (str[i] - 10 + 1*2);
}
return dtext;
}
...{
string encode(string str);
string decode(string str);
}
public class EncryptionDecryption : IBindesh
...{
public string encode(string str)
...{
string htext = "";
for ( int i = 0; i < str.Length; i++)
...{
htext = htext + (char) (str[i] + 10 - 1 * 2);
}
return htext;
}
public string decode(string str)
...{
string dtext = "";
for ( int i=0; i < str.Length; i++)
...{
dtext = dtext + (char) (str[i] - 10 + 1*2);
}
return dtext;
}
3、方法三 (可逆加密)srxljl
const string KEY_64 = "VavicApp";//注意了,是8个字符,64位
const string IV_64 = "VavicApp";
public string Encode(string data)
...{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
int i = cryptoProvider.KeySize;
MemoryStream ms = new MemoryStream();
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cst);
sw.Write(data);
sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}
public string Decode(string data)
...{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
byte[] byEnc;
try
...{
byEnc = Convert.FromBase64String(data);
}
catch
...{
return null;
}
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc);
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst);
return sr.ReadToEnd();
}
4,md5(32位加密) srxljl
public string GetMD5(string s, string _input_charset)
...{
/**//// <summary>
/// 与ASP兼容的MD5加密算法
/// </summary>
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s));
StringBuilder sb = new StringBuilder(32);
for (int i = 0; i < t.Length; i++)
...{
sb.Append(t[i].ToString("x").PadLeft(2, '0'));
}
return sb.ToString();
}
...{
/**//// <summary>
/// 与ASP兼容的MD5加密算法
/// </summary>
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s));
StringBuilder sb = new StringBuilder(32);
for (int i = 0; i < t.Length; i++)
...{
sb.Append(t[i].ToString("x").PadLeft(2, '0'));
}
return sb.ToString();
}
(16位加密)srxljl
public static string GetMd5Str(string ConvertString)
...{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
t2 = t2.Replace("-", "");
return t2;
}
...{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
t2 = t2.Replace("-", "");
return t2;
}
5、加解文本文件srxljl
//加密文件
private static void EncryptData(String inName, String outName, byte[] desKey, byte[] desIV)
...{
//Create the file streams to handle the input and output files.
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);
//Create variables to help with read and write.
byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
long rdlen = 0; //This is the total number of bytes written.
long totlen = fin.Length; //This is the total length of the input file.
int len; //This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
//Read from the input file, then encrypt and write to the output file.
while (rdlen < totlen)
...{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
}
encStream.Close();
fout.Close();
fin.Close();
}
//解密文件
private static void DecryptData(String inName, String outName, byte[] desKey, byte[] desIV)
...{
//Create the file streams to handle the input and output files.
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);
//Create variables to help with read and write.
byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
long rdlen = 0; //This is the total number of bytes written.
long totlen = fin.Length; //This is the total length of the input file.
int len; //This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateDecryptor(desKey, desIV), CryptoStreamMode.Write);
//Read from the input file, then encrypt and write to the output file.
while (rdlen < totlen)
...{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
}
encStream.Close();
fout.Close();
fin.Close();
}
private static void EncryptData(String inName, String outName, byte[] desKey, byte[] desIV)
...{
//Create the file streams to handle the input and output files.
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);
//Create variables to help with read and write.
byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
long rdlen = 0; //This is the total number of bytes written.
long totlen = fin.Length; //This is the total length of the input file.
int len; //This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
//Read from the input file, then encrypt and write to the output file.
while (rdlen < totlen)
...{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
}
encStream.Close();
fout.Close();
fin.Close();
}
//解密文件
private static void DecryptData(String inName, String outName, byte[] desKey, byte[] desIV)
...{
//Create the file streams to handle the input and output files.
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);
//Create variables to help with read and write.
byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
long rdlen = 0; //This is the total number of bytes written.
long totlen = fin.Length; //This is the total length of the input file.
int len; //This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateDecryptor(desKey, desIV), CryptoStreamMode.Write);
//Read from the input file, then encrypt and write to the output file.
while (rdlen < totlen)
...{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
}
encStream.Close();
fout.Close();
fin.Close();
}
发表评论
-
vs2005操作水晶报表(入门示例)
2008-06-27 17:14 6610vs2005操作水晶报表(入 ... -
C# 字符串DES加/解密与MD5加密类
2008-06-10 17:02 5652C#源码,用.Net封装的类库写的加密和解密的方法,很容易转换 ... -
打印gridview
2008-06-10 16:01 2751打印指定内容: 代码就是这样的. <html> ... -
ASP.NET验证控件祥解
2008-06-10 01:56 1491ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立 ... -
ASP.Net中MD5和SHA1加密的几种方法
2008-06-10 01:55 1643首先简单介绍一下MD5和SHA1:MD5的全称是Message ... -
Asp.net中的日期处理函数
2008-05-22 14:33 1090//2007年4月24日 this.Te ... -
LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Av
2008-05-14 18:02 5602顺便说了一下Where操作 ... -
LINQ简介和LINQ to SQL语句之Where
2008-05-14 17:21 1866查询表达式(LINQ)简介 在 ... -
C# 3.0新语言特性和改进(下篇)
2008-05-14 17:05 1310上一篇我们介绍了C# 3.0 ... -
C# 3.0新语言特性和改进(上篇)
2008-05-14 11:19 1498Visual Studio 2008和.NET 3.5是建立在 ... -
C#SQL数据库操作类
2008-05-13 12:31 2682using System;using System.Confi ... -
C#.net常用函数和方法集汇总
2008-05-13 12:27 9741、DateTime 数字型 System.D ... -
ASP.NET应用程序设计的10大技巧
2008-05-13 12:27 992在本篇文章中,我们将讨论编程人员在使用ASP.NET开发应用程 ... -
asp.net开发常用技巧收集
2008-05-13 12:25 14301. 打开新的窗口并传送参数: 传送参数: response. ... -
C#DateTime函数
2008-05-13 12:24 20821、DateTime 数字型 System.DateTime ... -
对MemoryStream进行压缩、加密
2008-05-13 11:50 2292在应用DeflateStream 或GZipStream进行压 ... -
内存流MemoryStream
2008-05-13 11:41 3685编程访问文件是通过文件流对象进行的,当应用程序需要访问文件时, ... -
.net验证码 创建 CreateRandomCode CreateImage
2008-05-13 11:03 2063新建一个专门用来创建验证码图片的页面image.aspx它的 ... -
一步一步学Linq to sql(一):预备知识
2008-05-13 09:34 899什么是Linq to sql Linq to ... -
ASP.net初学者常用知识
2008-05-10 01:23 1167一位ASP.net初学者学习过程中整理的备忘录,包括“打开新的 ...
相关推荐
由于其设计特性,MD5被认为是不可逆的,即无法从摘要恢复原始数据,这使得它在存储密码、防止数据篡改等方面有着重要作用。 在C#中,MD5的实现主要通过System.Security.Cryptography命名空间下的MD5类。下面将详细...
- 在进行数据完整性校验时,虽然MD5已不被推荐,但在某些场景下,仍可作为临时或过渡的解决方案。 6. **解密与验证** - MD5不支持直接解密,因为它是单向的。如果需要验证数据完整性,可以再次使用相同的方法对...
根据提供的文件信息,我们可以归纳出以下几个关键的C#加密与解密的知识点: ### C#中的加密技术概览 在C#中实现加密通常涉及到多种不同的加密算法和技术,包括但不限于可逆加密(如DES、AES)和不可逆加密(如MD5...
本文将深入探讨C#语言中实现的可逆加密算法,特别聚焦于Rijndael算法的运用,这一算法是AES(Advanced Encryption Standard)标准的核心,被广泛用于数据保护、网络安全以及各种保密通信场景。 ### C#中的Rijndael...
### C# 可逆加密解密算法解析 #### 一、引言 在现代软件开发中,数据安全显得尤为重要。为了保护敏感数据不被非法访问或窃取,开发者需要使用各种加密技术对数据进行处理。C#作为一种广泛使用的编程语言,在.NET...
MD5加密的主要特点是快速性和不可逆性。它的快速性意味着在短时间内可以处理大量数据,而不可逆性意味着从哈希值无法轻易还原原始数据,这在密码存储中特别重要。然而,MD5的安全性在近年来受到了挑战,因为已知存在...
在C#编程语言中,MD5加密是实现数据安全的重要手段,特别是在处理敏感信息如用户密码时,它可以将明文密码转化为不可逆的散列值,从而增加数据的安全性。 在C#中,我们可以使用System.Security.Cryptography命名...
标题中的“JAVA与C#一致的32位MD5加密方法”指的是在Java和C#这两种编程语言中实现相同32位MD5哈希的过程。由于MD5算法本身是标准的,理论上在任何支持MD5的编程语言中都应该得到相同的输出,不论是在Java还是C#中。...
在C#编程中,MD5加密常用于密码存储、数据校验等场景,因为其产生的摘要具有不可逆性,即不能通过摘要恢复原始数据,从而提供了一定的安全性。 MD5算法的基本流程包括四个步骤:初始化、字节补零、消息调度和结果...
根据提供的文件信息,我们可以深入探讨如何使用C#来实现MD5加密,并且了解其背后的原理以及实际应用。MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据转换为固定长度的摘要。由于...
以下是对"可逆加密"在C#中的实现及其相关知识点的详细解释。 1. 对称加密算法:在描述中提到的“对称加密”是指加密和解密过程中使用的密钥是相同的。常见的对称加密算法有DES(Data Encryption Standard)、3DES...
在C#编程环境中,MD5加密通常用于生成一个特定输入数据的固定长度、不可逆的数字指纹,这有助于验证数据的完整性和安全性。下面我们将详细探讨C#中的MD5加密实现及相关知识点。 1. **MD5哈希算法概述**: - MD5由...
MD5是一种不可逆的哈希函数,不支持解密操作;而DES是一种可逆的对称加密算法,可以进行加密和解密。下面将分别对这两种算法在C#中的实现进行详细解释: ### MD5哈希算法 在C#中,使用MD5算法非常简单,可以利用`...
在C#编程中,MD5加密常常用于存储密码时进行不可逆的处理,以保护用户的隐私信息。本文将详细介绍如何在C#中使用MD5进行数据加密,并提供一个简单的示例。 首先,我们要了解MD5的基本原理。MD5会将任意长度的输入...
这个摘要值具有不可逆性,也就是说,从摘要无法还原原始信息,这使得MD5常用于数据校验和密码加密。在C#编程语言中,实现MD5加密是开发者必备的技能之一。 标题"C# MD5加密"指的是使用C#语言进行MD5哈希加密的过程...
说到加密,可能大家最熟悉的就是MD5了,一般保存密码、查看文档是否更新都是用到MD5加密,MD5加密是不可逆的,不能解密出明文。相对的可逆加密是可以解密的,可逆加密又分为对称加密和非对称加密,比较流行的对称...
本资源包含了一些常见的C#加密解密类,如MD5、RSA、DES和RC2。下面将详细阐述这些算法的工作原理及其在C#中的应用。 1. **MD5(Message-Digest Algorithm 5)** MD5是一种广泛使用的哈希函数,它将任意长度的输入...
注意,MD5加密是不可逆的,因此通常不用于需要解密的场景。在上述代码中,虽然有一个解密方法,但实际上MD5哈希是无法被直接解密回原始数据的。解密方法仅适用于演示目的,实际应用中,MD5通常用于验证数据完整性而...