国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 易語言 - 易語言CNA算法實現快速加密解密文件的代碼

易語言CNA算法實現快速加密解密文件的代碼

2022-02-22 15:44易語言源碼貝貝吧 易語言

今天小編就為大家分享一篇關于易語言CNA算法實現快速加密解密文件的代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

CNA文件加解密數據算法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
.版本 2
.支持庫 spec
.支持庫 iext
.程序集 窗口程序集_啟動窗口
.子程序 __啟動窗口_創建完畢
.局部變量 code, 字節集, , , 加密密碼
.局部變量 test, 字節集, , , 要加密碼的數據字節集
.局部變量 i, 整數型, , , 查看反饋信息
' 簡單例子
test = 到字節集 (“aaaaaaa aaa.*#(中。329}@#¥”)
code = 到字節集 (“中。有 3a#”)
CNA數據 (test, code, 1)
調試輸出 (到文本 (test))
CNA數據 (test, code, )
調試輸出 (到文本 (test))
' 直接用一個文件進行加解密測試。功能完整的。
.子程序 CNA數據, 整數型, , 返回數1表示加密完成,返回0表示解密完成,返回10表示加密或解密碼失敗
.參數 數據集, 字節集, 可空, 要加密的數據集
.參數 密碼集, 字節集, 可空, 要加密的密碼集
.參數 方式, 整數型, 可空, 1是加密,0或省略是解密
.局部變量 j, 整數型, , , 計次變量
.局部變量 i, 整數型, , , 密碼集長度
.局部變量 k, 整數型, , , 數據集長度
.局部變量 lk, 整數型, , , 計算對換對換位置變量
.局部變量 t, 整數型, , , 計算對換對換位置變量
.局部變量 對換位置組, 整數型, , "0", 存放8個位置數據
.局部變量 臨時變量, 字節集, , , 臨時存放變量
.局部變量 密碼疊加量, 整數型, , , 密碼疊加變量
.局部變量 隨機數, 整數型, , , 隨機變量
.局部變量 隨機變量集, 字節集, , , 隨機變量字節集
.局部變量 單個對換位置, 整數型, , , 存放單個對換位置
' 限制只加密大于大于或等于10字節以上長度的文件,密碼可以和文件一樣長,如果比文件長,那多出部分只能累加到密碼疊加量里,不能在數據集加密中進行混合
' 小于10字節的文件可自行調整參數和算法
.如果真 (方式 = 1 且 取字節集長度 (數據集) ≥ 10 且 取字節集長度 (密碼集) ≥ 1) ' >>>>>>>>>>>>>加密開始
  ' ----------------------------------(1)計算密碼疊加量
  j = 取字節集長度 (密碼集)
  .計次循環首 (j, i)
    密碼疊加量 = 密碼集 [i] + 密碼疊加量 + i × 15
  .計次循環尾 ()
  lk = 密碼疊加量 ' ---用于計算對換位置時使用
  ' ----------------------------------(2)引入固定8位數隨機變量
  置隨機數種子 ()
  隨機數 = 取隨機數 (10000000, 98999999)
  ' ----------------------------------(3)開始數據集加密
  j = 取字節集長度 (密碼集)
  .計次循環首 (取字節集長度 (數據集), i) ' ------開始加密數據
    數據集 [i] = 數據集 [i] + 密碼集 [j] + 密碼疊加量 + 隨機數
    j = j - 1
    .如果真 (j = 0)
      j = 取字節集長度 (密碼集)
    .如果真結束
  .計次循環尾 ()
  ' ----------------------------------(4)開始把隨機數轉換隨機變量集加密,再合并到數據集中
  隨機數 = 隨機數 + 密碼疊加量 ' ------第一次簡單混合加密
  隨機變量集 = 到字節集 (到文本 (隨機數))
  j = 取字節集長度 (密碼集)
  .計次循環首 (取字節集長度 (隨機變量集), i) ' ------開始第二次加密隨機變量集
    隨機變量集 [i] = 隨機變量集 [i] + 密碼集 [j] + 密碼疊加量
    j = j - 1
    .如果真 (j = 0)
      j = 取字節集長度 (密碼集)
    .如果真結束
  .計次循環尾 ()
  數據集 = 數據集 + 隨機變量集 ' ------數據集和隨機變量集合并
  ' ----------------------------------(5)通過對數據集長度和密碼疊加變量的比例算法求出對換位置
  t = 取字節集長度 (數據集)
  .計次循環首 (8, i) ' ------先通過和密碼疊加變量計算出對應位置
    加入成員 (對換位置組, t × lk ÷ (lk + t))
    t = t - 1.69
    lk = lk × 0.459
  .計次循環尾 ()
  ' ----------------------------------(6)開始對換隨機變量集在數據集里的位置
  k = 取字節集長度 (數據集)
  臨時變量 = 取空白字節集 (1)
  .計次循環首 (8, i) ' ------ 開始對換
    單個對換位置 = 對換位置組 [i]
    臨時變量 [1] = 數據集 [單個對換位置]
    數據集 [單個對換位置] = 數據集 [k]
    數據集 [k] = 臨時變量 [1]
    k = k - 1
  .計次循環尾 ()
  返回 (1)
.如果真結束
.如果真 (方式 = 0 且 取字節集長度 (數據集) ≥ 10 且 取字節集長度 (密碼集) ≥ 1) ' --------------------解密
  ' ----------------------------------(1)計算密碼疊加量,和加密部分(1)一樣
  j = 取字節集長度 (密碼集)
  .計次循環首 (j, i)
    密碼疊加量 = 密碼集 [i] + 密碼疊加量 + i × 15
  .計次循環尾 ()
  lk = 密碼疊加量 ' ---用于計算對換位置時使用
  ' ----------------------------------(2)通過對數據集長度和密碼疊加變量的比例算法求出對換位置,和加密碼部分(5)一樣
  t = 取字節集長度 (數據集)
  .計次循環首 (8, i)
    加入成員 (對換位置組, t × lk ÷ (lk + t))
    t = t - 1.69
    lk = lk × 0.459
  .計次循環尾 ()
  ' ----------------------------------(3)開始對換隨機變量集在數據集里的位置,并把數據集和隨機變量集切分出來,對換位置和加密部分(6)略有不同
  k = 取字節集長度 (數據集) - 7 ' ------ 開始反向對換
  臨時變量 = 取空白字節集 (1)
  .計次循環首 (8, i)
    單個對換位置 = 對換位置組 [9 - i] ' ------ 開始反向對換
    臨時變量 [1] = 數據集 [單個對換位置]
    數據集 [單個對換位置] = 數據集 [k]
    數據集 [k] = 臨時變量 [1]
    k = k + 1
  .計次循環尾 ()
  k = 取字節集長度 (數據集)
  隨機變量集 = 取字節集右邊 (數據集, 8) ' ------ 分割出隨機變量集
  數據集 = 取字節集中間 (數據集, 1, k - 8) ' ------ 分割出數據集
  ' ----------------------------------(4)開始解密出隨機數,和加密部分(4)取反向操作
  j = 取字節集長度 (密碼集)
  .計次循環首 (取字節集長度 (隨機變量集), i)
    隨機變量集 [i] = 隨機變量集 [i] - 密碼集 [j] - 密碼疊加量
    j = j - 1
    .如果真 (j = 0)
      j = 取字節集長度 (密碼集)
    .如果真結束
  .計次循環尾 ()
  隨機數 = 到數值 (到文本 (隨機變量集))
  隨機數 = 隨機數 - 密碼疊加量
  ' ----------------------------------(5)開始解密數據集,和加密部分(3)取反向操作
  j = 取字節集長度 (密碼集)
  .計次循環首 (取字節集長度 (數據集), i)
    數據集 [i] = 數據集 [i] - 密碼集 [j] - 密碼疊加量 - 隨機數
    j = j - 1
    .如果真 (j = 0)
      j = 取字節集長度 (密碼集)
    .如果真結束
  .計次循環尾 ()
  返回 (0)
.如果真結束
返回 (10)
.子程序 _打開文件加密_被單擊
.局部變量 file1, 整數型, , , 要加密的文件號
.局部變量 file2, 整數型, , , 加密后新建的文件號
.局部變量 code, 字節集, , , 要加密碼的密碼
.局部變量 exc, 文本型, , "0", 取文件名格式用
.局部變量 文件長度, 長整數型, , , 要加密的文件大小
.局部變量 循環次數, 整數型, , , 加密循環次數
.局部變量 FSO, 對象, , , 用于讀取文件屬性信息
.局部變量 GetFile, 對象, , , 用于讀取文件屬性信息
.局部變量 temp, 字節集, , , 臨時存放字節集
.局部變量 i, 整數型, , , 提示加密進度用
' 加密時是以80萬計/次讀入數據的,每次循環加密后的文件都會多出8字節的隨機密匙,所以解密時要以80.008萬/次讀入數據。
code = 到字節集 (密碼編輯框.內容)
.如果真 (通用對話框1.打開 ())
  file1 = 打開文件 (通用對話框1.文件名, #讀寫, )
  FSO.創建 (“Scripting.FileSystemObject”, )
  GetFile = FSO.對象型方法 (“GetFile”, 通用對話框1.文件名)
  文件長度 = GetFile.讀數值屬性 (“Size”, )
  exc = 分割文本 (通用對話框1.文件名, “\”, )
  file2 = 打開文件 (取當前目錄 () + “\CNA+” + exc [取數組成員數 (exc)], #改寫, )
  狀態條1.置文本 (0, “狀態:正在加密..”)
  狀態條1.置文本 (1, “文件:” + 到文本 (exc [取數組成員數 (exc)]))
  循環次數 = 到整數 (文件長度 \ 800000) + 1
  .計次循環首 (循環次數, i)
    temp = 讀入字節集 (file1, 800000)
    CNA數據 (temp, code, 1)
    寫出字節集 (file2, temp)
    狀態條1.置文本 (2, “進度:” + 到文本 (取整 (i ÷ 循環次數 × 100)) + “%”) ' -----進度顯示以百分比方式顯現
  .計次循環尾 ()
  狀態條1.置文本 (0, “狀態:加密完成”)
  關閉文件 (file2)
  關閉文件 (file1)
.如果真結束
.子程序 _打開文件解密_被單擊
.局部變量 file1, 整數型, , , 要加密的文件號
.局部變量 file2, 整數型, , , 加密后新建的文件號
.局部變量 code, 字節集, , , 要加密碼的密碼
.局部變量 exc, 文本型, , "0", 取文件名格式用
.局部變量 文件長度, 長整數型, , , 要加密的文件大小
.局部變量 循環次數, 整數型, , , 解密循環次數
.局部變量 FSO, 對象, , , 用于讀取文件屬性信息
.局部變量 GetFile, 對象, , , 用于讀取文件屬性信息
.局部變量 temp, 字節集, , , 臨時存放字節集
.局部變量 i, 整數型, , , 提示加密進度用
' 注意: 加密時是以80萬計/次讀入數據的,每次循環加密后的文件都會多出8字節的隨機密匙,所以解密時要以80.008萬/次讀入數據。
code = 到字節集 (密碼編輯框.內容)
.如果真 (通用對話框1.打開 ())
  file1 = 打開文件 (通用對話框1.文件名, #讀寫, )
  FSO.創建 (“Scripting.FileSystemObject”, )
  GetFile = FSO.對象型方法 (“GetFile”, 通用對話框1.文件名)
  文件長度 = GetFile.讀數值屬性 (“Size”, )
  exc = 分割文本 (通用對話框1.文件名, “\”, )
  file2 = 打開文件 (取當前目錄 () + “\CNA-” + exc [取數組成員數 (exc)], #改寫, )
  狀態條1.置文本 (0, “狀態:正在解密..”)
  狀態條1.置文本 (1, “文件:” + 到文本 (exc [取數組成員數 (exc)]))
  循環次數 = 到整數 (文件長度 \ 800008) + 1 ' 注意要多出8字節
  .計次循環首 (循環次數, i)
    temp = 讀入字節集 (file1, 800008) ' 看文件大小讀入多少字節,如果文件非常大,則可以通過移動文件指針方式分段進行加密
    CNA數據 (temp, code, )
    寫出字節集 (file2, temp)
    狀態條1.置文本 (2, “進度:” + 到文本 (取整 (i ÷ 循環次數 × 100)) + “%”) ' -----進度顯示以百分比方式顯現
  .計次循環尾 ()
  狀態條1.置文本 (0, “狀態:解密完成”)
  關閉文件 (file1)
  關閉文件 (file2)
.如果真結束

運行結果:

易語言CNA算法實現快速加密解密文件的代碼

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

延伸 · 閱讀

精彩推薦
  • 易語言一步一步跟我學易語言之第二個易程序菜單設計

    一步一步跟我學易語言之第二個易程序菜單設計

    今天小編就為大家分享一篇關于的一步一步跟我學易語言之第二個易程序菜單設計,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要...

    易語言幫助手冊7092021-06-17
  • 易語言實例操作易語言載入窗口

    實例操作易語言載入窗口

    在本文中小編給大家整理的是關于易語言載入窗口的教程和步驟內容,需要的可以跟著學習下...

    易語言教程網19162022-03-02
  • 易語言易語言獲取指定磁盤的名稱

    易語言獲取指定磁盤的名稱

    今天小編就為大家分享一篇關于易語言獲取指定磁盤的名稱,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來...

    易語言幫助手冊12662022-01-04
  • 易語言一步一步跟我學易語言之關于變量

    一步一步跟我學易語言之關于變量

    今天小編就為大家分享一篇關于一步一步跟我學易語言之關于變量,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊10822021-06-17
  • 易語言易語言設置進度條邊框樣式的方法

    易語言設置進度條邊框樣式的方法

    今天小編就為大家分享一篇關于易語言設置進度條邊框樣式的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊4422022-01-20
  • 易語言易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    今天小編就為大家分享一篇關于易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,...

    易語言幫助手冊9092022-01-12
  • 易語言易語言生成exe文件的方法

    易語言生成exe文件的方法

    在本篇內容中小編給大家分享的是關于易語言生成exe文件的方法知識點,需要的朋友們參考下。...

    易語言教程網14792022-03-01
  • 易語言易語言關于程序進程和線程的基礎知識

    易語言關于程序進程和線程的基礎知識

    今天小編就為大家分享一篇關于易語言關于程序進程和線程的基礎知識,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起...

    三葉資源網6662022-02-24
主站蜘蛛池模板: 国产精品99久久 | 免费午夜视频 | 午夜一级片 | 亚洲区视频在线观看 | 久久夜色精品国产 | 成人影院在线 | 欧美亚洲高清 | 久久久久国产精品午夜一区 | 亚洲免费成人在线视频 | 激情久久久久 | 欧美日韩精品一区二区在线观看 | 国产做a爰片久久毛片a我的朋友 | 色综合成人 | 国内自拍偷拍 | 91国内外精品自在线播放 | 99视频免费 | 婷婷成人av | 欧美日韩视频在线观看免费 | 日本精品久久 | 亚洲精品电影在线观看 | 国产综合免费视频 | 亚洲国产综合在线 | 日韩三级av在线 | 欧美午夜一区 | 欧美 日韩 国产 一区 | 欧美日韩专区 | 亚洲一区二区av | 欧美一区二区三区在线观看 | 日本不卡一二三区 | 一区二区日韩欧美 | 成人精品一区二区三区中文字幕 | 日韩欧美中文字幕在线视频 | 黑人精品 | 国产一区二区在线播放 | 国产精品美女高潮无套久久 | 日韩欧美国产精品综合嫩v 日韩a∨精品日韩在线观看 | 在线黄| www.91福利| 亚洲啊v | 综合久久综合 | 精品成人av一区二区在线播放 |