加密机制
来源:互联网 发布:数据采集卡企业 编辑:程序博客网 时间:2024/05/19 20:46
给Cookie MD5或者SHA1加密
Response.Cookies["OAMUserName"].Value = FormsAuthentication.HashPasswordForStoringInConfigFile(LOGON_USER, "md5");
在数据库中添加一个字段,使用insert将加密的口令作为一个string存入数据库,当用户登录的时候,就可以将用户输入的口令加密结果和数据库中的正确结果比较,通过这种方法来验证口令的正确性.
MD5是32位的不可逆加密算法,2的128次幂,任何字符串加密后都是长度相同的32位字符串,所有会有不同的字符串加密后数据相同的情况.
FrameWSC加密机制
Key
KeyInnerQisda
Gen Key
IV
IVInnerQisda
Gen IV
原始字符串
加密
解密
加密后字符串
首先单击GenKey(生成密钥)按钮,单击Gen TV(生成IV) 按钮,然后在原始字符串文本中输入数据单击Encrypt(加密)按钮后,加密后的文本将显示在加密后字符串中
需记下生成的密钥和IV,(可以固定单独赋值,不用生成),因为要解密连接字符串以便再次使用,如果丢失他们,将再也无法恢复连接字符串
导入命名空间 System.Security.Cryptography,所有的对称算法类都是从这个基类继承而来的
private static string Key = "KeyInnerQisda";
private static string IV = "IVInnerQisda";
// ICryptoTransform 是一个接口。需要此接口才能在任何服务提供程序上调用 CreateEncryptor 方法,服务提供程序将返回定义该接口的实际 encryptor 对象
然后需要将原始字符串转换成字节数组。大多数 .NET 加密算法处理的是字节数组而不是字符串
要使用名为 ms 的 MemoryStream 对象、ICryptoTransform 对象(提供给 CryptoStream 类的构造函数)以及说明您希望在何种模式(读、写等)下创建该类的枚举常数。
创建 CryptoStream 对象 cs 后,现在使用 CryptoStream 对象的 Write 方法将数据写入到内存数据流。这就是进行实际加密的方法,加密每个数据块时,数据将被写入 MemoryStream 对象。
创建 MemoryStream 后,该代码将在 CryptoStream 对象上执行 FlushFinalBlock 方法,以确保所有数据均被写入 MemoryStream 对象。该过程将关闭 CryptoStream 对象。
该过程将内存数据流从字节数组转换回字符串,这样才可以在窗体上的文本框内显示该字符串。可以使用 MemoryStream ToArray() 方法从数据流中获取字节数组,然后调用 Convert.ToBase64String() 方法,该方法接受字节数组输入并使用 Base64 编码方法将该字符串编码为可读内容或者
public static string Encrypt(string value){
Byte[] byt;
MemoryStream ms;
ICryptoTransform ct;
CryptoStream cs;
ct = DESCryptoServiceProvider.CreateDecryptor(Key,IV); //DES生成散列
ct = SHA1CryptoServiceProvider. CreateDecryptor(Key,IV); //SHA1生成散列
ct = MD5CryptoServiceProvider. CreateDecryptor(Key,IV); //MD5生成散列
ct = RC2CryptoServiceProvider. CreateDecryptor(Key,IV); //RC2加密 --当前FrameWSC框架使用
byt = Encoding.ASCII.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
解密方法只是将上述的3个语句变更下:
public static string Decrypt(string value){
Byte[] byt;
MemoryStream ms;
ICryptoTransform ct;
CryptoStream cs;
ct = RC2CryptoServiceProvider. GetDecryptor (Key,IV); //解密 --当前FrameWSC框架使用
byt = Convert.FromBase64String (Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.ASCII.GetString(ms.ToArray());
- 加密机制
- EasyLon加密机制分析
- MD5+Salt加密机制
- 一些加密机制
- 蓝光加密机制
- sip加密机制
- 公私钥加密机制
- Android中加密机制
- 客户端加密机制
- AES/RSA加密机制
- 加密机制理解
- 实战SSL安全加密机制
- ASP.NET 用户密码加密机制
- 关键(二):数据加密机制
- 短信加密机制的设计
- Androidhttp请求加密机制详解
- 天龙八部底层包加密机制
- 加密货币与共识机制
- linux下php+oracle环境
- 使用脚本语言和IE右键菜单
- 删除Oracle中安装的perl地方法
- 世界上最珍贵的是什么
- SVN用户及权限配置
- 加密机制
- php log class
- 09年企业网络营销的九大趋势
- 高明实在高明,废话一篇
- JavaScript实用的一些技巧
- 购买InstallShield免费赠送Windows 7一套,2010年1月30日截止,赶快行动!
- 图解twitter的最新发展
- C# 自定义纸张大小
- 今天 终于开通个人站点了....高兴....