加密解密技术.pdf

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
加密解密技术

第 章 加密与解密技术 数据的加密与解密 文件的加密与解密 第 19 章 加密与解密技术 19.1 数据的加密与解密 异或算法对数字进行加密与解密 中级 实例 571 光盘位置:光盘\MR\19\571 趣味指数: 实例说明 在实现本实例之前先来简要了解一下加密的概念,加密是指通过 某种特殊的方法,更改已有信息的内容,使得未授权的用户即使得到 了加密信息,如果没有正确解密的方法,也无法得到信息的内容。谈 到加密的话题,一些读者一定非常感兴趣,而且会联想到复杂的加密 算法,本实例主要使用异或“^ ”运算符简单地实现了对数字加密的 功能。实例运行效果如图 19.1 所示。 关键技术 本实例实现时主要使用了“异或”运算符对数字进行“异或”运 图 19.1 异或算法对数字进行加密与解密 算,以达到简单加密数字的目的,下面对其进行详细讲解。 “异或”运算符“^ ”用于比较两个二进制数的相应位。在执行按位“异或”运算时,如果两个二进制数的 相应位都为 1 或两个二进制数的相应位都为 0,则返回 0 ;如果两个二进制数的相应位其中一个为 1 一个为 0, 则返回 1。 现在来了解一下使用“异或”加密或解密的执行过程,数值 23 转换为二进制为 10111,加密数字的数值 15 转换为二进制为 1111。对比两个二进制的值,从右向左按位对比,如果两个二进制数的相应位都为 1 或两个二 进制数的相应位都为 0,则返回 0 ;如果两个二进制数的相应位中一个为 1 一个为 0,则返回 1,最后得到的结 果为二进制值 11000,该值转换为十进制为 24 ,所以得到的加密结果为 24 。而解密过程也很简单,只是将加密 结果 24 与加密数字 15 进行“异或”运算,将 24 转换为二进制值 11000,将 15 转换为二进制值 1111,进行“异 或”运算后,得到结果为 23 ,这样又还原了加密的数据。 说明:本实例只是简单地使用了“异或”运算符计算两个整型数值以达到加密的目的,所以本实例只可以 对整型数值进行加密运算,并不适合其他数据的加密。 设计过程 (1)打开 Visual Studio 2008 开发环境,新建一个 Windows 窗体应用程序,并将其命名为 Encrypt 。 (2 )更改默认窗体 Form1 的 Name 属性为 Frm_Main ,在该窗体中添加两个 GroupBox 容器控件,其中, 在第一个 GroupBox 中放入 3 个 TextBox 控件和一个 Button 按钮,分别用于输入数字、输入加密数字、显示加 密后的数字和计算加密信息;在第二个 GroupBox 中放入一个 TextBox 控件和一个 Button 按钮,分别用于显示 解密后的信息和计算解密信息。 (3 )程序主要代码如下: private void btn_Encrypt_Click(object sender, EventArgs e) { int P_int_Num, P_int_Key; //定义两个值类型变量 if (int.TryParse(txt_Num.Text, out P_int_Num) //判断输入是否是数值 int.TryParse(txt_Key.Text, out P_int_Key)) { txt_Encrypt.Text = (P_int_Num ^ P_int_Key).ToString(); //加密数值 }

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档