加密程序

This post is written in Chinese. Please consider using Google Translate

我用VB编的一个小巧的加密工具,最大可加密10MB的文件。

点此下载源代码和程序

算法: 数据规模及结构: 采用(1..3300,1..3300)Byte数组,规模约为10MB。

加密算法: 1、矩阵错排 将字串以识别码为分割,形成矩阵,再将矩阵竖排。

例如字串:Washington is the father of the United States of America. 设识别码(矩阵长度)为5,则生成以下矩阵: ┌───┐ │Washi │ │ngton │ │is th │ │e fat │ │her o │ │f the │ │ Unit │ │ed St │ │ates │ │of Am │ │erica │ │. │ └───┘

依次竖排生成以下串: Wniehf eaoe.ags e Udtfr$st frtn e i$hota hiSsAc$inhtoett ma$ 该串为矩阵错排后的值。

2、Ascii码位移 将每个字符的Ascii码分别增加位移码,满255归0。 位移码=(识别码 mod 255 +1)

识别码生成算法: 将密码每一位Ascii码的绝对值累加并与识别码范围求模并识别码最小值。

参考源程序:

Public Function GetPwd(ByVal Strs As String) As Long
Dim Length As Integer, I As Integer, U As Long
Length = Len(Strs)
U = 0
For I = 1 To Length
U = U + Abs(Asc(Mid(Strs, I, 1)))
Next I
U = U Mod (a - aMin) + aMin
GetPwd = U
End Function

Related posts