加入收藏  |  设为首页  |  联系我们
网站首页 公司概况 公司文化 新闻动态 加密狗展示 工作坏境 招贤纳士 精诚合作 在线留言
精诚合作
精诚合作
使用指南
 
地    址:广东省深圳市地王大厦38层8801号。
客服QQ1:4642967
客服QQ2:5915307
手    机:13528540969(刘先生)
邮    箱:4642967@qq.com
网    址:/a/
精诚合作 当前位置:首页 >> 精诚合作 >> 使用指南

|加密狗的数据加密与解密

发表时间:2018-05-16    来源:不详    浏览次数:26

实现本实例功能主要用到了System.Security.Cryptography命名空间下的MD5Crypto- ServiceProvider类的ComputeHash( )方法、System.Text命名空间下的ASCIIEncoding类的ASCII属性、GetBytes( )方法和GetString( )方法。下面分别进行介绍。
(1)System.Security.Cryptography命名空间
System.Security.Cryptography 命名空间提供加密服务(包括安全的数据编码和解码)以及许多其他操作,例如散列法、随机数字生成和消息身份验证。
(2)MD5CryptoServiceProvider类
此类使用加密服务提供程序(CSP)提供的实现,计算输入数据的MD5哈希值。
语法格式为:
public sealed class MD5CryptoServiceProvider : MD5
注意:MD5CryptoServiceProvider类的哈希大小为128位。
(3)ComputeHash( )方法
此方法计算指定字节数组的哈希值。
语法格式为:
public byte[] ComputeHash (byte[] buffer)
参数说明如下。
l     buffer:要计算其哈希代码的字节数组。
l     返回值:计算所得的哈希代码。
(4)System.Text命名空间
表示 ASCII、Unicode、UTF-7和UTF-8字符编码的类;是用于将字符块转换为字节块和将字节块转换为字符块的抽象基类。
(5)ASCIIEncoding类
此类表示Unicode字符的ASCII字符编码。
语法格式为:
    public class ASCIIEncoding : Encoding
(6)ASCII属性
此属性获取 ASCII(7位)字符集的编码。
语法格式为:
public static Encoding ASCII { get; }
l     属性值:ASCII(7 位)字符集的Encoding。
(7)GetBytes( )方法
此方法将指定的String中的所有字符编码为一个字节序列。
语法格式为:
public virtual byte[] GetBytes (string s)
参数说明如下。
l     s:包含要编码的字符的String。
(8)GetString( )方法
此方法将指定字节数组中的所有字节解码为一个字符串。
语法格式为:
public virtual string GetString (byte[] bytes)
参数说明如下。
l     bytes:包含要解码的字节序列的字节数组。
l     返回值:包含指定字节序列解码结果的String。

(1)新建一个Windows应用程序,将其命名为Ex16_01,默认窗体为Form1。
(2)在Form1窗体中,主要添加两个TextBox控件,用来输入和显示字符串;添加一个Button控件,用来执行加密操作。
(3)主要程序代码。
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            { MessageBox.Show("请输入加密数据"); return; }
            MD5CryptoServiceProvider M5 = new MD5CryptoServiceProvider();
            textBox2.Text = ASCIIEncoding.ASCII.GetString(M5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(textBox1.Text)));
        }
举一反三
根据本实例,读者可以实现以下功能。
  对机密的文件夹进行加密与解密。
  在数据传输中使用,以便保证传输信息不被泄露。
实例464 文本文件加密与解密
实例说明
本实例实现对计算机中的一些非常机密的文本文件进行加密与解密操作。运行程序,单击【选择文件】按钮,选择要进行加密或解密的文本文件(.txt格式的文件),单击【加密】或【解密】按钮,即可完成对文本文件的加密或解密操作。实例运行结果如图16.2所示。
技术要点
实现本实例功能主要用到了System.Security.Cryptography命名空间下的RijndaelManaged类的CreateDecryptor( )方法、CreateEncryptor( )方法、CryptoStream类的Write( )方法、FlushFinalBlock( )方法、Close( )方法、System.IO命名空间下的FileStream类、StreamReader类的ReadToEnd( )方法、StreamWriter类的Write( )方法、Flush( )方法和BinaryReader类的ReadBytes( )方法。System.Security.Cryptography命名空间在第16章实例463中已经做过详细介绍,这里不再详细描述,下面对本实例中用到的其他知识进行详细介绍。
(1)RijndaelManaged类
此类表示Rijndael对称加密算法的所有实现必须从其继承的基类中获得。
语法格式为:
public abstract class Rijndael SymmetricAlgorithm
注意:此算法支持128、192或256位的密钥长度。
(2)CreateDecryptor( )方法
此方法使用指定的Key和初始化向量(IV)创建对称的Rijndael解密器对象。
语法格式为:
public override IcryptoTransform CreateDecryptor (byte[] rgbKey,byte[] rgbIV)


新疆时时彩走势图开奖关闭窗口】 【新疆时时彩走势图开奖打印本页】 【收藏页面
Copyright (c) 2013 - 2016 加密狗破解网 Inc. All Rights Reserved 备案号:粤ICP备08125688号 版权所有:加密狗破解网
大赢家彩票网 幸运赛车开奖直播 幸运赛车视频直播 吉林11选5开奖记录 赌博默示录1
重庆幸运农场开奖查询 重庆时时彩人工计划 澳门博彩公司 排列五开奖结果查询 幸运飞艇开奖手机链接