C# 加密解密字符串
来源:互联网 发布:淘宝宝贝图片制作教程 编辑:程序博客网 时间:2024/05/17 15:36
有时候可能会用到,给数据库连接的字符串加密,让人不那么容易看出服务器的地址和帐号信息,所以大家可以用这个工具,把字符串加密,然后执行的时候解码,就可以了。方便实用。
方法一:
using System;using System.Collections.Generic;using System.Text;namespace StringEncry{ class EncodeAndDecode { /// <summary> /// Base64加密 /// </summary> /// <param name="codeName">加密采用的编码方式</param> /// <param name="source">待加密的明文</param> /// <returns></returns> public static string EncodeBase64(Encoding encode, string source) { string enstring = ""; byte[] bytes = encode.GetBytes(source); try { enstring = Convert.ToBase64String(bytes); } catch { enstring = source; } return enstring; } /// <summary> /// Base64加密,采用utf8编码方式加密 /// </summary> /// <param name="source">待加密的明文</param> /// <returns>加密后的字符串</returns> public static string EncodeBase64(string source) { return EncodeBase64(Encoding.UTF8, source); } /// <summary> /// Base64解密 /// </summary> /// <param name="codeName">解密采用的编码方式,注意和加密时采用的方式一致</param> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string DecodeBase64(Encoding encode, string result) { string decode = ""; byte[] bytes = Convert.FromBase64String(result); try { decode = encode.GetString(bytes); } catch { decode = result; } return decode; } /// <summary> /// Base64解密,采用utf8编码方式解密 /// </summary> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string DecodeBase64(string result) { return DecodeBase64(Encoding.UTF8, result); } }}
这个类,大家可以直接使用。
效果图如下:
方法二:
/// <summary> /// MD5加密,输入明文,返回密文 /// </summary> /// <param name="pToEncrypt"></param> /// <returns>加密后字符串</returns> [WebMethod(Description = "【函数描述】加密数据库连接字符串")] public string MD5Encrypt(string pToEncrypt) { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt); //des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); //des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 };//定义偏移量 byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 };//定义密钥 des.Key = key; des.IV = iv; 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(); } /// <summary> /// 解密连接字符串,输入加密后字符串,返回解密密后的字符串 /// </summary> /// <param name="pToDecrypt">密文</param> /// <returns>明文</returns> [WebMethod(Description = "【函数描述】解密数据库连接字符串")] public 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(sKey); //des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 };//定义偏移量 byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 };//定义密钥 des.Key = key; des.IV = iv; 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()); }
0 0
- C# 字符串加密 解密
- C#字符串加密解密
- C#加密解密字符串
- C# 加密解密字符串
- C# 字符串加密解密
- C# DES加密/解密字符串
- C# DES加密/解密字符串
- C# DES加密/解密字符串
- C#对字符串加密解密
- C#加密和解密字符串
- C# DES加密解密字符串
- C# DES加密/解密字符串
- c# 对字符串加密解密
- C# 加密解密链接字符串
- C#字符串加密和解密
- C#字符串加密和解密
- c# 加密 解密字符串 方法
- C# 加密解密URL传输的字符串
- Linux 入门资料题目 每道题都可以好好研究一下
- 首次安装eclipse win32-64
- 去百度还是去创新工厂? 信开复还是信彦宏?
- cocos2d-x学习笔记——cocos2d-x-3.3beat0工程创建过程
- 【android】ListView的局部刷新
- C# 加密解密字符串
- C基础 - 运算符(5)
- 理解执行计划
- 利用友盟第三方分享
- python 查天气
- GDB调试
- 变量的 声明、存放与作用域
- exosip开发
- 常见SVN图标的含义