可以采用下面的函数实现密码的加密
public static string EncryptString(string str)
{
//密文
string key = "www"; //把密文转成二进制型 byte[] bytesKey = System.Text.Encoding.UTF8.GetBytes(key); //把字符串转成二进制型 byte[] bytesIn = System.Text.Encoding.UTF8.GetBytes(str); //生成DESCryptoServiceProvider对象
System.Security.Cryptography.DESCryptoServiceProvider des = new System.Security.Cryptography.DESCryptoServiceProvider(); //设定
des.Key = ResizeBytesArray(bytesKey, des.Key.Length);
des.IV = ResizeBytesArray(bytesKey, des.IV.Length); //写出被加密的数据的MemoryStream
System.IO.MemoryStream msOut = new System.IO.MemoryStream(); //生成DES加密对象
System.Security.Cryptography.ICryptoTransform desdecrypt = des.CreateEncryptor(); //生成CryptoStream
System.Security.Cryptography.CryptoStream cryptStreem =
new System.Security.Cryptography.CryptoStream(msOut,
desdecrypt,
System.Security.Cryptography.CryptoStreamMode.Write); //写入
cryptStreem.Write(bytesIn, , bytesIn.Length);
cryptStreem.FlushFinalBlock(); //取得加密后的数据
byte[] bytesOut = msOut.ToArray(); //关闭
cryptStreem.Close();
msOut.Close(); //返回
return System.Convert.ToBase64String(bytesOut);
} 可以采用下面的函数实现密码的解密
/// <summary>
/// 对数据解密 /// </summary>
/// <param name="str">被加密的数据</param>
/// <returns>解密后的数据</returns>
public static string DecryptString(string str)
{
//秘文
string key = "www"; string result = "";
//把密文转成二进制型
byte[] bytesKey = System.Text.Encoding.UTF8.GetBytes(key); //生成DESCryptoServiceProvider对象
System.Security.Cryptography.DESCryptoServiceProvider des = new System.Security.Cryptography.DESCryptoServiceProvider(); //设定
des.Key = ResizeBytesArray(bytesKey, des.Key.Length);
des.IV = ResizeBytesArray(bytesKey, des.IV.Length); //返回
byte[] bytesIn = System.Convert.FromBase64String(str); //生成MemoryStream对象以便读出被加密的数据
System.IO.MemoryStream msIn = new System.IO.MemoryStream(bytesIn); //生成DES复原对象
System.Security.Cryptography.ICryptoTransform desdecrypt = des.CreateDecryptor(); //生成CryptoStream对象以便读入数据
System.Security.Cryptography.CryptoStream cryptStreem =
new System.Security.Cryptography.CryptoStream(msIn,
desdecrypt,
System.Security.Cryptography.CryptoStreamMode.Read); //生成StreamReader以便取得解密后的数据
System.IO.StreamReader srOut = new System.IO.StreamReader(cryptStreem, System.Text.Encoding.UTF8); //取得解密后的数据
result = srOut.ReadToEnd(); //关闭
srOut.Close();
cryptStreem.Close();
msIn.Close(); return result;
} /// <summary>
/// 使用共有key变更二进制的数据的大小 /// </summary>
/// <param name="bytes">变更二进制的数据的大小</param>
/// <param name="newSize">二进制的数据的大小</param>
/// <returns>变更后的二进制列</returns>
private static byte[] ResizeBytesArray(byte[] bytes, int newSize)
{
byte[] newBytes = new byte[newSize];
if (bytes.Length < newSize)
{
for (int i = ; i < bytes.Length; i++)
newBytes[i] = bytes[i];
}
else
{
int pos = ;
for (int i = newSize; i < bytes.Length; i++)
{
newBytes[pos++] ^= bytes[i];
if (pos >= newBytes.Length)
pos = ;
}
}

【ADO.NET基础-数据加密】第一篇(加密解密篇)的更多相关文章

  1. 【推荐】JAVA基础◆浅谈3DES加密解密

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. loadrunder之脚本篇——加密解密

    密码加密 可以给密码加密,意在把结果字符串作为脚本的参数或者参数值.例如,完整可能有一个用户密码填写的表单,你想测试网站针对不同密码的反应,但是你又想保护密码的安全.Password Encoder允 ...

  3. linux基础之加密解密、PKI及SSL、创建私有CA

    加密解密基础 1. 对称加密: 加密和解密使用同一个密钥 常见的加密算法有:DES.3DES.AES.Blowfish.Twofish.IDEA.RC6.CAST5 特性: 1. 加密.解密使用同一个 ...

  4. 创建私有CA, 加密解密基础, PKI, SSL

    发现了一篇图文并茂的超棒的  加密解密, CA, PKI, SSL 的基础文章, 链接如下:https://blog.csdn.net/lifetragedy/article/details/5223 ...

  5. .NET进阶篇04-Serialize序列化、加密解密

    知识需要不断积累.总结和沉淀,思考和写作是成长的催化剂这篇很轻松,没有什么费脑子的,所以解析较少,代码较多,为数不多的拿来即用篇整个章节分布请移步 内容目录 一.概述二.序列化1.二进制文件2.XML ...

  6. openssl生成CA签署 及 加密解密基础

    openssl  生成私有CA 及签署证书 openssl 配置文件: /etc/pki/tls/openssl.cnf 1. 在openssl CA 服务器端生成私钥 cd /etc/pki/CA/ ...

  7. SWF加解密资源索引之加密混淆篇【转】

    ============================ SWF加解密资源索引之加密混淆篇 ============================ [心得] swf加密混淆器(带源码) http:/ ...

  8. 【MM系列】SAP MM模块-基础配置第一篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-基础配置第一篇   ...

  9. jmeter加密解密(加密篇)

    最近刚好在弄jmeter加密解密,可以分享下.(有一段时间没写了,有点不知道从何写起,这篇写的有点乱o(╥﹏╥)o) 需求是:接口中的请求体的部分参数需要先加密再请求,返回的结果中部分字段需解密. 1 ...

随机推荐

  1. PHP小补充

    code1-1 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  2. ssh延迟加载问题的解决方案

    1. 什么是延迟加载问题 ? 业务层查询的数据 关闭session 之后...web层获取延迟加载的数据失败. 例如:查询订单没有查询客户,需要显示客户,session已经关闭,无法查询 2. 如何解 ...

  3. Spring源码解析之ConfigurableApplicationContext

    UML图 接口的作用 从上面的UML图中,可以看到 ConfigurableApplicationContext 直接继承了 ApplicationContext, Lifecycle, Closea ...

  4. 如何设计web系统的监控

    如何使用httpclient设计开发一套web系统监控? 我之前有实现和写过关于运维和开发两个层面的监控系统的文章(https://www.cnblogs.com/zhikou/p/8576891.h ...

  5. Spring boot 全局配置 properties或者yml文件报错

    主要问题是没有扫描到配置文件 在pom文件里面<build>    </build>中加上以下代码就可以保证能扫描到了 <resources> <resour ...

  6. 【Offer】[33] 【二叉搜索树的后序遍历序列】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回true, 否则返回false. 假设输入的数组的任意两个数字 ...

  7. 讲解开源项目:用 Python 生成有“灵魂”的二维码

    本文作者:HelloGitHub-LITTLECHIEH 这是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家推荐一个 Python 开源生成二维码的项目--qrcode ...

  8. 换个角度使用VUE过滤器

    换个角度使用VUE过滤器 过滤器在Vue中的主要用于文本格式化,如小写转大小,日期格式化等操作.官方对这个功能介绍也很简单,不过确实很简单,就一个函数而已.但最近在做两款APP时,遇到一些特殊的需求. ...

  9. python-re正则表达--持续更新

    | 模式          | 描述| |----              |----| | \w            | 匹配字母数字及下划线 | | \W           | 匹配非字母数 ...

  10. 个人IP「Android大强哥」上线啦!

    自从入职新公司之后就一直忙得不行,一边熟悉开发的流程,一边熟悉各种网站工具的使用,一边又在熟悉业务代码,好长时间都没有更文了. 不过新公司的 mentor(导师)还是很不错的,教给我很多东西,让我也能 ...