选择显示字体大小

用vb实现数据的加解密算法


  随着计算机应用的普及,信息的安全性越来越受到人们的重视,对数据加解密算法的研究也在不断地深入,但一般的加解密算法如des和rsa等过于复杂,且运算速度慢,特别是它的移位操作,对于vb这样的高级语言实现起来也比较困难。 而一般的mis(management information system)系统多用高级语言开发,对数据的加密要求不高,因此,研究简易数据加解密算法还是有相当的现实意义。

简易加解密算法要求

  1、 算法不宜过于复杂,且具有一定的保密性

  2、 对于高级语言很容易能实现

  3、 速度快,可以在任何时候、任何地方使用。

  4、 加密后的数据能正确地得到解密

  鉴于以上特点,从加密的主要方法看,换位法过于简单,特别是对于数据量少的情况很容易由密文猜出明文,替换法则不失为一种行之有效的简易算法。

  首先,windows下的字符集采用unicode字符集,它容量大,可置换的范围广;其次,在unicode字符集中,所有字符的内码都占两个字节,不再象dos下西文字符占一个字节,中文字符占两个字节,这样无论西文还是中文都可以互换。因此,将某个字符的高字节和低字节分别加以运算,生成另外一个0-255之间的数,然后再将它们合成为另一个字符,从而置换数据达到数据加密的作用,解密时则相反。

  从各种位运算的特点看,异或运算最适合用于简易加解密运算,因为当一个数a和另一个数b进行异或运算会生成另一个数c,如果再将c和b进行异或运算则c又会还原为a。如:128和253进行异或运算的结果是125,125和253再进行异或运算则结果又是128。其中,128就是要加密的数据,253则是密钥。利用这个特性可以将加密和解密用一个函数实现。用同一密钥进行奇数次运算时,是对数据进行加密运算,当进行偶数次运算时,是对数据进行解密运算。如果对unicode字符进行这种运算,需要两个密钥,其取值范围为0-255,其中一个用于对高字节加密,一个用于对低字节进行加密,这样对同一字符的加密就有255×255=65025种可能。如果更换密钥后对密文再进行加密,则会有无穷的可能性。如:密钥k1=68,k2=134,则字符a的低字节为65,它和k1异或后为5,a的高字节为0,它和k2异或后还是134,两者合成的字符为"蘅"。再如:"密"的低字节为198,和k1异或后为130,它的高字节为91,和k2异或后为221,两者合成则为一个不可见的字符。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons