我们在开发程序的时候,通常都会遇到加密的问题,数字化时代,加密的安全性是很高的.
简单地说,以前的纯调频/调幅的电波通讯完全是敞开式的,后来的莫尔斯电码也容易被猜解,
然而在数字化时代,我们传输的数据是0和1组成的二进制代码,除非你知道他的约定,否则,
用暴力猜解的方法是很难的.
在Visual Basic 中,加密通常应用在字符串,字符串加密常见的就三种方法:
ASCII代码移位加密;
XOR异或运算加密;
字表随机对调加密;
所谓ASCII移位就是将字符串逐个字符的ASCII编码顺推或者逆推若干位,如:
public function Encode(Byval str as string)as string
dim i as Long
if str = "" then exit function
encode = ""
for i = 0 to len(str)
encode = encode + chr(asc(mid(str,i,1))+5)
next i
end function
但是这种方法容易被暴力猜解,破解者只要提取一小段,逐个试过去,65535对计算机来说
简直是小菜一碟.
字表随机对调加密就是建立一张对照表(密码表),这跟莫尔斯电码差不多,加密的时候就完全把字母打乱,
但是很难应用于汉字,而且人工解密难度大,一旦变更子表很难熟练的解密.
public function Encode(byval str as string)as string
str = replace(str,"S","|")
str = replace(str,"A","S")
...
end function
XOR加密是数字化加密运用的好例子,加密的方式多种多样,而且密码可以很长,甚至很变态.
比较经典的加密如下:
Private Const strDefault As String = "h1d9y8x7" '设置默认密码
'XOR加密/解密是相同的
Public Function Dencrypt(byval strSource As String, Optional ByVal strKey As String = "") As String
Dim l As Long, strCrypt As String
Dim iValue As Integer, jValue As Integer
If Len(strKey) < 2 Then strKey = strDefault
Mid(strKey, 2, 1) = Asc(X)
For l = 1 To Len(strSource)
'第一个XOR值
iValue = Asc(Mid$(strSource, l, 1))
'第二个XOR值
jValue = Asc(Mid$(strKey, ((l Mod Len(strKey)) + 1), 1)) //这里会出现反复算法
'两个值XOR运算 比如asc("A") Xorasc("B") = 3
strCrypt = strCrypt + Chr(iValue Xor jValue)
Next l
Dencryption = strCrypt
End Function
我还曾经遇到过用随机数加密的 XOR算法,当时没注意分析,也没留下来.
XOR运算加密十分灵活,在大家多体会,此外XOR也可以应用于二进制文件,
然而对于图片啊视频啊什么的,我们通常只用文件头加密,那样运算快,消费比较好.
分享到:
相关推荐
可以将doc,docx打包成exe格式文件,用以加密DOC、DOCX文件、RTF格式文档,绝非office自带的加密方法,本系统有以下特色---- 1、加密时可以设置是否不同电脑需要不同的阅读密码-您可以为不同用户设置不同的阅读...
文件加密文件加密文件加密文件加密文件加密文件加密文件加密文件加密文件加密
大势至企业文档加密管理系统是一款专业的电脑文件加密软件,同时还可以加密U盘文件,防止电脑文件非授权访问。同时,系统还可以隐藏磁盘,防止未经授权访问磁盘文件的行为。此外,系统还可以设置加密文件访问权限,...
文件加密软件文件加密软件文件加密软件文件加密软件文件加密软件文件加密软件文件加密软件文件加密软件文件加密软件
很酷的文件加密软件。 很酷的文件加密软件。
txt文档加密txt文档加密txt文档加密txt文档加密
TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器TXT文件加密器
文件加密,您是否OUT了? 1、您是否还在用密码对文件加密? 2、您是否还在用隐藏方式对文件进行保护? 3、您是否还在为设置复杂的密码而头疼? 4、您是否还在为记住不同的密码而烦心? 5、您是否还在为文件放哪里了而...
通过使用des算法对普通文件加密加密的实现
文件加密 部分加密 使用 C#写的 文件加密 内部包括解密
。net中,大量数据流可以用对称加密,少量则不对称加密。两个例子可以提供参考
对txt文件的加密解密,采用c++编写。
主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下
s 加密文件内容(提示:键入文件全名,若该文件不存在,则提示 :error!若该文件存在,则提示键入加密或解密的KEY,KEY为小于等于255) 注:加密解密使用同一方法,且文件加密后会自动退出菜单! q 退出主菜单。
文件加密的专业程序,文件加密的专业程序,文件加密的专业程序
C# 文件加密 实例源码(加密解密)
为了方便直接用播放器播放加密的多媒体文件,设置了以zlm为扩展名的文件,双击后直接可以播放。 zlj是普通的文件。 注意:目前的版本不支持wma,wmv和asf文件格式。 播放小于10M的文件时会有点问题。
现在网络上流行很多文件夹加密和文件加密的所谓加密软件,很多都是个人根据开源代码编写的程序,多数都是利用windows技巧实现的(最常见的就是将文件隐藏到回收站,万一你不小心删除了回收站或者重装了系统,那就...
文件数据加密文件数据加密文件数据加密文件数据加密文件数据加密文件数据加密文件数据加密文件数据加密文件数据加密文件数据加密文件数据加密