您的位置:软件 > 开发者网络 > 微软开发专栏 > 技术专题 > 正文
实例解说.Net构架下的加密编程
[文章信息]
作者:张悦
时间:2003-12-25
出处:yesky
责任编辑:方舟
[文章导读]
加密对很多程序员来说是一件很麻烦的,.Net提供了专用于加密的类,于是加密变得简单了
advertisement
热点推荐
· 好友上线通知——QQ千里眼
· 解析Windows操作系统的管理
· 剑走偏锋——灵巧的旁注攻击
· Mail Notifier邮件提醒工具
· Linux操作系统网络应用解疑
[正文]
  很久以前就一直想写一个加密程序,但是一直感到太麻烦而没有动手,不过在前段时间学习.NET的过程中发现.NET的框架中封装了与加密有关的类。而且要在.NET中进行加密编程也是很容易的。

  现在就对本文使用的加密技术来做个讲解。首先我们得知道的是密钥这个专用名词。密钥可以这样来理解:X+Y=Z。其中X是要被加密的数据,Y就是密钥,Z是加密后的数据。如果在这个加法中将Y去掉,那吗就成了X=Z。所以Y在这里就可以被看成一个变量,而密钥也正是一个变量,当这个变量发生变化后加密的数据也就更着发生变化了。不过在有的资料中会将它称为向量。

  本文所采用的加密方法是被称为密钥散列值的方法。此方法是将要加密的数据和密钥进行组合产生新的加密了的数据。

  在.NET中可以说加密所要使用的类全部都集中在System.Security.Cryptography框架中,他包含了多种加密算法,所以我们使用的加密方法也是在System.Security.Cryptography框夹中。
下面我们就来看看如何实现数据的加密。

  首先在窗口中添加一个Button,3个Textbox,3个Label控件。将Button的Text属性设置为"确定"。将3个Label控件的Text属性设置分别设置为:文字,密钥,HMACSHA1。3个Textbox的属性保持默认。添加控件后的图如下:



  现在双击Button1在Button1_Click中输入下面的代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim txt1() As Byte
 txt1 = System.Text.ASCIIEncoding.ASCII.GetBytes(TextBox1.Text)
 '读取输入的文字,即要加密的文字。
 Dim key(16) As Byte
 key = System.Text.ASCIIEncoding.ASCII.GetBytes(TextBox2.Text)'读取密钥
 'HMACSHA加密
 Dim hma As New System.Security.Cryptography.HMACSHA1(key)'声明加密类,既使用何种加密方法
 Dim csstream As New System.Security.Cryptography.CryptoStream(System.IO.Stream.Null, hma, Security.Cryptography.CryptoStreamMode.Write)'进行加密转换
 csstream.Write(txt1, 0, txt1.Length)
 '将加密后的数据保存在TXT1这个变量中
 '此时的txt1已经不是先前的要加密的文字,而是被刷新后的已经加密的数据。
 csstream.Close()
 TextBox3.Text = System.Text.ASCIIEncoding.ASCII.GetString(hma.Hash)'显示加密的文字。
End Sub

  程序说明:在本代码中我们主要是使用HMACSHA1算法实现了密钥散列值的加密。从代码可以看出要在.NET中进行数据的加密其实并不难,关键是选择System.Security.Cryptography中具体算法。

  总结:对于加密技术本文并没设计的太多,其原因是加密技术本身在大学中就是作为单独的一们学科,何况现在有很数专门的书在讨论加密算法,有兴趣的读者可以去看看。本文主要的意图是告诉大家,在.NET中已经将加密作为框架的一部分,我们可以根据自己的需要进行选择具体的加密算法。而且在.NET中使用加密编程并不会太难。

  加密文字"这一次我绝不放手",密钥"123"时运行的效果。如图



  加密文字"这一次我绝不放手",密钥"223"时运行的效果。如图



  加密文字"爱你直到永远ZHANG RUI RUI",密钥"223"时运行的效果。如图



加密文字"爱你直到永远ZHANG RUI RUI",密钥"123"时运行的效果。如图


·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 在ASP.NET中实现会话状态基础
  • ASP.NET Datagrid创建自定义列
  • 创建ASP.NET数据存储层
  • 创建用于ASP.NET的分页控件
  • 为ASP.NET控件添加设计时支持
  • 在VB.NET中应用SQLDMO
  • 用.NET Framework智能版管理XML
  • 初探ERP的数据库框架
  • VB.NET实现五子棋的人工智能
  • 利用ASP.NET访问共享网络资源
  • ASPX页Web服务调用性能优化
  • ASP.NET中编程杀死进程
  • 高性能托管应用程序设计入门
  • 微软 .NET Remoting体系结构评估
  • 用.Net Framework设计检查EMail程序
  • 在IE中托管.NET Windows Forms
  • 浅析.Net下的多线程编程
  • 让手机帮你抱得美人归
  • 光棍节、孙悟空 配件也能分公母
  • 好友上线通知——QQ千里眼
  • 解析Windows操作系统的管理
  • 史前巨鳄 超频三散热器
  • 明花有主 飞利浦LCD有奖活动完美收场
  • 剑走偏锋——灵巧的旁注攻击
  • 统统闪开,最超值5700LE登场
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索