asp.net字符串加密与解密


 1 using System;
2 using System.Data;
3 using System.Configuration;
4 using System.Web;
5 using System.Web.Security;
6 using System.Web.UI;
7 using System.Web.UI.WebControls;
8 using System.Web.UI.WebControls.WebParts;
9 using System.Web.UI.HtmlControls;
10 using System.Xml ;
11 using System.Data.SqlClient;
12 using System.IO;
13 using System.Net;
14 using System.Text;
15 using System.Text.RegularExpressions;
16 using System.Security.Cryptography;
17
18
19 /// <summary>
20 /// 加密
21 /// </summary>
22 /// <param name="pToEncrypt">要加密的字符串</param>
23 /// <param name="sKey">加密密匙 例:"abcdefgh"</param>
24 /// <returns></returns>
25 public string Encrypt(string pToEncrypt)
26 {
27 string sKey = "abcdefgh";
28 DESCryptoServiceProvider des = new DESCryptoServiceProvider(); //把字符串放到byte数组中
29 byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
30 //byte[] inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);
31 des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); //建立加密对象的密钥和偏移量
32 des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); //原文使用ASCIIEncoding.ASCII方法的GetBytes方法
33 MemoryStream ms = new MemoryStream(); //使得输入密码必须输入英文文本
34 CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
35 cs.Write(inputByteArray, 0, inputByteArray.Length);
36 cs.FlushFinalBlock();
37 StringBuilder ret = new StringBuilder();
38 foreach (byte b in ms.ToArray())
39 {
40 ret.AppendFormat("{0:X2}", b);
41 }
42 ret.ToString();
43 return ret.ToString();
44 }
45 /// <summary>
46 /// 解密
47 /// </summary>
48 /// <param name="pToDecrypt">要解密字符串</param>
49 /// <param name="sKey">解密密匙 例:"abcdefgh"</param>
50 /// <returns></returns>
51 public string Decrypt(string pToDecrypt)
52 {
53 string sKey = "abcdefgh";
54 DESCryptoServiceProvider des = new DESCryptoServiceProvider();
55 byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
56 for (int x = 0; x < pToDecrypt.Length / 2; x++)
57 {
58 int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
59 inputByteArray[x] = (byte)i;
60 }
61 des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); //建立加密对象的密钥和偏移量,此值重要,不能修改
62 des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
63 MemoryStream ms = new MemoryStream();
64 CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
65 cs.Write(inputByteArray, 0, inputByteArray.Length);
66 cs.FlushFinalBlock();
67 StringBuilder ret = new StringBuilder(); //建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
68 return System.Text.Encoding.Default.GetString(ms.ToArray());
69 }

asp.net字符串加密与解密

时间: 2024-10-09 09:26:35

asp.net字符串加密与解密的相关文章

字符串加密和解密的常类

字符串加密和解密常用类:转载至: http://www.cnblogs.com/malaohu/p/3214136.html   public sealed class EncryptUtils { #region Base64加密解密 /// <summary> /// Base64加密 /// </summary> /// <param name="input">需要加密的字符串</param> /// <returns>

java字符串加密与解密

原文:java字符串加密与解密 源代码下载地址:http://www.zuidaima.com/share/1557602896464896.htm 这段时间正好系统中有需要对密码进行加密,还要能进行解密,支持自定义密钥.现分享给大家,希望能帮助到牛牛们. 有些人可能会遇到com.sun.crypto.provider.SunJCE报错,是由于编译器(jdk1.7以下)对必须得库有一定的限制,因此无法构造改函数,解决方法是设置一下编译器的报错级别,具体的解决方法可以参照这篇文章: http://

C#/JS AES字符串加密和解密

往往我们有一种需求:在页面端实现对即将传入到后台端的某些字符串进行加密,然后在后台端对传入进来的字符串做解密.在一些有安全要求的数据传输上会用到此种方式 下面分别列出js端和后台端的加密或解密代码. js端加密解密 aes.js: /* CryptoJS v3.1.2 code.google.com/p/crypto-js (c) 2009-2013 by Jeff Mott. All rights reserved. code.google.com/p/crypto-js/wiki/Licen

php 字符串加密与解密

/** * @param $data 需要加密的字符串 * @param $key 加密的密码 * @return string 加密后的字符串 */function _encrypt($data, $key){ $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); $char=''; $str=''; for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; }

利用ASP.NET加密和解密Web.config中连接字符串

介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, Ajax, JavaScript等的文章.大多数情况下,我都把数据库的连接字符串放在了web.config中.其中包含许多敏感信息,包括连接数据库的用户名密码等.然而我们在web.config和machine.config中以纯文本的方式保存密码安全吗? 如果我们的程序只是部署在内部服务器中,这应该没

字符串的加密与解密(一)

    前段时间自己琢磨着写个给字符串加密和解密的小程序,在网上找了一些代码,稍做整理,记录如下:     一.不可逆加密     1.MD5     (之前一直以为经过MD5加密是不可逆的,今天在网上竟然找到个网址可以解密,试了一下,真的可以哦!) /// <summary> /// 使用MD5加密字符串 /// </summary> /// <param name="source">待加密的字符串</param> /// <re

asp.net 的加密Encode和解密Decode.

asp.net 的加密和解密(c#): 1. 导入所需包: using System.IO; using System.Text; using System.Security.Cryptography; 2.加密 1)MD5普通加密 //获取要加密的字段,并转化为Byte[]数组 byte[] data = System.Text.Encoding.Unicode .GetBytes(str.ToCharArray()); //建立加密服务 System.Security.Cryptograph

Asp.net的加密解密技巧--[转载]

对于加密和解密,我们都知道.下面主要介绍的是ASP.NET中的加密和解密. 一.数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1.常用密钥算法 密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 D

(转)DES、RSA、MD5、SHA、随机生成加密与解密

一.数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1.常用密钥算法 密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encrypti