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.Cryptography.MD5 md5 = new
System.Security.Cryptography.MD5CryptoServiceProvider();

//加密Byte[]数组

byte[] result = md5.ComputeHash(data);

response.write( "MD5普通加密:" +
System.Text.Encoding.Unicode.GetString(result));

2)MD5密码加密[常用]

response.write("MD5密码加密:" +
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,
"MD5"));

3)ASP.NET中加密与解密QueryString的方法[常用]

//加密

Response.Redirect("DetailInfo.aspx?id="
+
Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(str)).Replace("+","%2B"));

//解密

string ID =
System.Text.Encoding.Default.GetString(Convert.FromBase64String(Request.QueryString["id"].ToString().Replace("%2B","+")));

加密和解密函数:

Protected
Function Encode(ByVal theStr As String) As String

Return
Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(theStr)).Replace("+",
"%2B")
    End
Function
   
Protected Function Decode(ByVal theStr As String) As String
        Return
System.Text.Encoding.Default.GetString(Convert.FromBase64String(theStr.Replace("%2B",
"+")))
    End
Function

4)DES加密及解密的算法[常用密钥算法]

public static string Key = "DKMAB5DE";//加密密钥必须为8位

//加密算法

public static string MD5Encrypt(string pToEncrypt)

{  DESCryptoServiceProvider des = new DESCryptoServiceProvider();

  byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);

  des.Key = ASCIIEncoding.ASCII.GetBytes(Key);

   des.IV = ASCIIEncoding.ASCII.GetBytes(Key);

  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();

}

//解密算法

public static string MD5Decrypt(string pToDecrypt)

{   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(Key);

  des.IV = ASCIIEncoding.ASCII.GetBytes(Key);

  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.ASCII.GetString(ms.ToArray());

}

5)RSA加密及解密的算法[常用密钥算法]

//加密算法

public string RSAEncrypt(string encryptString)

{  CspParameters csp = new CspParameters();

  csp.KeyContainerName = "whaben";

  RSACryptoServiceProvider RSAProvider = new
RSACryptoServiceProvider(csp);

  byte[] encryptBytes =
RSAProvider.Encrypt(ASCIIEncoding.ASCII.GetBytes(encryptString), true);

  string str = "";

  foreach (byte b in encryptBytes)

  { str = str + string.Format("{0:x2}", b);

  }

  return str;

}

//解密算法

public string RSADecrypt(string decryptString)

{   CspParameters csp = new CspParameters();

  csp.KeyContainerName = "whaben";

  RSACryptoServiceProvider RSAProvider = new
RSACryptoServiceProvider(csp);

  int length = (decryptString.Length / 2);

  byte[] decryptBytes = new byte[length];

  for (int index = 0; index < length; index++)

  {   string substring = decryptString.Substring(index * 2, 2);

    decryptBytes[index] = Convert.ToByte(substring, 16);

  }

  decryptBytes = RSAProvider.Decrypt(decryptBytes, true);

  return ASCIIEncoding.ASCII.GetString(decryptBytes);

}

时间: 2024-08-01 16:29:55

asp.net 的加密Encode和解密Decode.的相关文章

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

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

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.HtmlContro

ASP.NET常用加密解密方法

一.MD5加密解密 1.加密 C# 代码   复制 public static string ToMd5(string clearString) { Byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(clearString); string hashedPwd = BitConverter.ToString(((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).Compu

实现ios上传加密nodejs后台解密

今天在做项目的时候遇到一个问题,我需要在ios端把上传数据加密,防止中间代理捕获信息内容并修改数据库的信息.把数据传到后台在解码,实现数据安全. 下面介绍我实现的在nodejs的加密和解密的代码希望对需要解决相同问题的有一定的帮助. var assert = require('assert');    var crypto = require('crypto');     function test_des(param) {     var key = new Buffer(param.key)

ASP.NET(C#)常用数据加密和解密方法汇总

一.            数据加密的概念 1.  基本概念 2.  基本功能 3.  加密形式 二.            数据加密的项目应用和学习 1.  媒体加密:DRM 2.  文件加密:文本加密.pdf.word 3.  数据加密:ASP.NET(C#)中的数据加密 4.  硬件加密:加密狗 三.            数据加密的发展趋势 四.            网络数据加密算法分类 1.  根本不考虑解密问题:MD5. 2.  私用密钥加密:DES.AES 3.  公用密钥加密:

ASP原码加密工具介绍

总是会有非常多方法暴露ASP的原程序.造成数据库的password 路径都能够轻易被其它人搞到,所以对ASP程序实行加密处理是个不错的解决方法.以下来介绍一个工具假设大家感兴趣能够来我主页下载. minisql.yeah.net 熏衣草乐园 脚本编码器是一种简单的命令行工具,它使脚本设计者能够对终于的脚本进行编码,从而使 Web 主机和 Web 客户不能查看或改动它们的源码.注意.这样的编码仅仅能防止别人在无意中查看到您的代码,并不能防止蓄意黑客查看您的编码内容及其方法. Web 设计者在 We

自定义泪价值器2——加密class文件 解密加载class文件

public class MyClassLoader extends ClassLoader { private String classDir;//自定义类加载器 所查找的目录 MyClassLoader(String classDir){ this.classDir = classDir; } @[email protected]("deprecation") //findClass的主要作用就是 把class文件读取到内存中 那么涉及两个流,,但是class文件被加密 所以需要先

芯片加密与芯片解密技术方法的发展史!

芯片加密与芯片解密技术方法的发展史! IC集成电路在早期,除法律和经济外,几乎没有保护措施来防止复制这些设备.例如:ROM 是用低成本的掩模技术制造的,可用EPROM 轻易复制,但后者通常要贵 3-10 倍或更多.或定制掩模ROM,那就需要很长的时间和很大的投资.工业控制器的硬件安全措施与嵌入式系统同时开始发展.40年前的可编程工业控制器是由分离的部件如 CPU,ROM,RAM,I/O 缓冲器,串口和其他通信与控制接口组成的.通用的嵌入式控制器.PCB 上的每个部件很容易辨别且极易被复制.如下图

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

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