Beyond the Void
BYVoid
加密程序
本文正體字版由OpenCC轉換

我用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

上次修改時間 2017-05-26

相關日誌