欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

易語言中如何實現(xiàn)CNA文件加解密數(shù)據(jù)算法

這篇文章給大家分享的是有關(guān)易語言中如何實現(xiàn)CNA文件加解密數(shù)據(jù)算法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計、網(wǎng)站維護、公眾號搭建、微信小程序定制開發(fā)、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動行銷領(lǐng)域創(chuàng)造價值而不懈努力!

CNA文件加解密數(shù)據(jù)算法

.版本 2
.支持庫 spec
.支持庫 iext
.程序集 窗口程序集_啟動窗口
.子程序 __啟動窗口_創(chuàng)建完畢
.局部變量 code, 字節(jié)集, , , 加密密碼
.局部變量 test, 字節(jié)集, , , 要加密碼的數(shù)據(jù)字節(jié)集
.局部變量 i, 整數(shù)型, , , 查看反饋信息
' 簡單例子
test = 到字節(jié)集 (“aaaaaaa aaa.*#(中。329}@#¥”)
code = 到字節(jié)集 (“中。有 3a#”)
CNA數(shù)據(jù) (test, code, 1)
調(diào)試輸出 (到文本 (test))
CNA數(shù)據(jù) (test, code, )
調(diào)試輸出 (到文本 (test))
' 直接用一個文件進行加解密測試。功能完整的。
.子程序 CNA數(shù)據(jù), 整數(shù)型, , 返回數(shù)1表示加密完成,返回0表示解密完成,返回10表示加密或解密碼失敗
.參數(shù) 數(shù)據(jù)集, 字節(jié)集, 可空, 要加密的數(shù)據(jù)集
.參數(shù) 密碼集, 字節(jié)集, 可空, 要加密的密碼集
.參數(shù) 方式, 整數(shù)型, 可空, 1是加密,0或省略是解密
.局部變量 j, 整數(shù)型, , , 計次變量
.局部變量 i, 整數(shù)型, , , 密碼集長度
.局部變量 k, 整數(shù)型, , , 數(shù)據(jù)集長度
.局部變量 lk, 整數(shù)型, , , 計算對換對換位置變量
.局部變量 t, 整數(shù)型, , , 計算對換對換位置變量
.局部變量 對換位置組, 整數(shù)型, , "0", 存放8個位置數(shù)據(jù)
.局部變量 臨時變量, 字節(jié)集, , , 臨時存放變量
.局部變量 密碼疊加量, 整數(shù)型, , , 密碼疊加變量
.局部變量 隨機數(shù), 整數(shù)型, , , 隨機變量
.局部變量 隨機變量集, 字節(jié)集, , , 隨機變量字節(jié)集
.局部變量 單個對換位置, 整數(shù)型, , , 存放單個對換位置
' 限制只加密大于大于或等于10字節(jié)以上長度的文件,密碼可以和文件一樣長,如果比文件長,那多出部分只能累加到密碼疊加量里,不能在數(shù)據(jù)集加密中進行混合
' 小于10字節(jié)的文件可自行調(diào)整參數(shù)和算法
.如果真 (方式 = 1 且 取字節(jié)集長度 (數(shù)據(jù)集) ≥ 10 且 取字節(jié)集長度 (密碼集) ≥ 1) ' >>>>>>>>>>>>>加密開始
  ' ----------------------------------(1)計算密碼疊加量
  j = 取字節(jié)集長度 (密碼集)
  .計次循環(huán)首 (j, i)
    密碼疊加量 = 密碼集 [i] + 密碼疊加量 + i × 15
  .計次循環(huán)尾 ()
  lk = 密碼疊加量 ' ---用于計算對換位置時使用
  ' ----------------------------------(2)引入固定8位數(shù)隨機變量
  置隨機數(shù)種子 ()
  隨機數(shù) = 取隨機數(shù) (10000000, 98999999)
  ' ----------------------------------(3)開始數(shù)據(jù)集加密
  j = 取字節(jié)集長度 (密碼集)
  .計次循環(huán)首 (取字節(jié)集長度 (數(shù)據(jù)集), i) ' ------開始加密數(shù)據(jù)
    數(shù)據(jù)集 [i] = 數(shù)據(jù)集 [i] + 密碼集 [j] + 密碼疊加量 + 隨機數(shù)
    j = j - 1
    .如果真 (j = 0)
      j = 取字節(jié)集長度 (密碼集)
    .如果真結(jié)束
  .計次循環(huán)尾 ()
  ' ----------------------------------(4)開始把隨機數(shù)轉(zhuǎn)換隨機變量集加密,再合并到數(shù)據(jù)集中
  隨機數(shù) = 隨機數(shù) + 密碼疊加量 ' ------第一次簡單混合加密
  隨機變量集 = 到字節(jié)集 (到文本 (隨機數(shù)))
  j = 取字節(jié)集長度 (密碼集)
  .計次循環(huán)首 (取字節(jié)集長度 (隨機變量集), i) ' ------開始第二次加密隨機變量集
    隨機變量集 [i] = 隨機變量集 [i] + 密碼集 [j] + 密碼疊加量
    j = j - 1
    .如果真 (j = 0)
      j = 取字節(jié)集長度 (密碼集)
    .如果真結(jié)束
  .計次循環(huán)尾 ()
  數(shù)據(jù)集 = 數(shù)據(jù)集 + 隨機變量集 ' ------數(shù)據(jù)集和隨機變量集合并
  ' ----------------------------------(5)通過對數(shù)據(jù)集長度和密碼疊加變量的比例算法求出對換位置
  t = 取字節(jié)集長度 (數(shù)據(jù)集)
  .計次循環(huán)首 (8, i) ' ------先通過和密碼疊加變量計算出對應(yīng)位置
    加入成員 (對換位置組, t × lk ÷ (lk + t))
    t = t - 1.69
    lk = lk × 0.459
  .計次循環(huán)尾 ()
  ' ----------------------------------(6)開始對換隨機變量集在數(shù)據(jù)集里的位置
  k = 取字節(jié)集長度 (數(shù)據(jù)集)
  臨時變量 = 取空白字節(jié)集 (1)
  .計次循環(huán)首 (8, i) ' ------ 開始對換
    單個對換位置 = 對換位置組 [i]
    臨時變量 [1] = 數(shù)據(jù)集 [單個對換位置]
    數(shù)據(jù)集 [單個對換位置] = 數(shù)據(jù)集 [k]
    數(shù)據(jù)集 [k] = 臨時變量 [1]
    k = k - 1
  .計次循環(huán)尾 ()
  返回 (1)
.如果真結(jié)束
.如果真 (方式 = 0 且 取字節(jié)集長度 (數(shù)據(jù)集) ≥ 10 且 取字節(jié)集長度 (密碼集) ≥ 1) ' --------------------解密
  ' ----------------------------------(1)計算密碼疊加量,和加密部分(1)一樣
  j = 取字節(jié)集長度 (密碼集)
  .計次循環(huán)首 (j, i)
    密碼疊加量 = 密碼集 [i] + 密碼疊加量 + i × 15
  .計次循環(huán)尾 ()
  lk = 密碼疊加量 ' ---用于計算對換位置時使用
  ' ----------------------------------(2)通過對數(shù)據(jù)集長度和密碼疊加變量的比例算法求出對換位置,和加密碼部分(5)一樣
  t = 取字節(jié)集長度 (數(shù)據(jù)集)
  .計次循環(huán)首 (8, i)
    加入成員 (對換位置組, t × lk ÷ (lk + t))
    t = t - 1.69
    lk = lk × 0.459
  .計次循環(huán)尾 ()
  ' ----------------------------------(3)開始對換隨機變量集在數(shù)據(jù)集里的位置,并把數(shù)據(jù)集和隨機變量集切分出來,對換位置和加密部分(6)略有不同
  k = 取字節(jié)集長度 (數(shù)據(jù)集) - 7 ' ------ 開始反向?qū)Q
  臨時變量 = 取空白字節(jié)集 (1)
  .計次循環(huán)首 (8, i)
    單個對換位置 = 對換位置組 [9 - i] ' ------ 開始反向?qū)Q
    臨時變量 [1] = 數(shù)據(jù)集 [單個對換位置]
    數(shù)據(jù)集 [單個對換位置] = 數(shù)據(jù)集 [k]
    數(shù)據(jù)集 [k] = 臨時變量 [1]
    k = k + 1
  .計次循環(huán)尾 ()
  k = 取字節(jié)集長度 (數(shù)據(jù)集)
  隨機變量集 = 取字節(jié)集右邊 (數(shù)據(jù)集, 8) ' ------ 分割出隨機變量集
  數(shù)據(jù)集 = 取字節(jié)集中間 (數(shù)據(jù)集, 1, k - 8) ' ------ 分割出數(shù)據(jù)集
  ' ----------------------------------(4)開始解密出隨機數(shù),和加密部分(4)取反向操作
  j = 取字節(jié)集長度 (密碼集)
  .計次循環(huán)首 (取字節(jié)集長度 (隨機變量集), i)
    隨機變量集 [i] = 隨機變量集 [i] - 密碼集 [j] - 密碼疊加量
    j = j - 1
    .如果真 (j = 0)
      j = 取字節(jié)集長度 (密碼集)
    .如果真結(jié)束
  .計次循環(huán)尾 ()
  隨機數(shù) = 到數(shù)值 (到文本 (隨機變量集))
  隨機數(shù) = 隨機數(shù) - 密碼疊加量
  ' ----------------------------------(5)開始解密數(shù)據(jù)集,和加密部分(3)取反向操作
  j = 取字節(jié)集長度 (密碼集)
  .計次循環(huán)首 (取字節(jié)集長度 (數(shù)據(jù)集), i)
    數(shù)據(jù)集 [i] = 數(shù)據(jù)集 [i] - 密碼集 [j] - 密碼疊加量 - 隨機數(shù)
    j = j - 1
    .如果真 (j = 0)
      j = 取字節(jié)集長度 (密碼集)
    .如果真結(jié)束
  .計次循環(huán)尾 ()
  返回 (0)
.如果真結(jié)束
返回 (10)
.子程序 _打開文件加密_被單擊
.局部變量 file1, 整數(shù)型, , , 要加密的文件號
.局部變量 file2, 整數(shù)型, , , 加密后新建的文件號
.局部變量 code, 字節(jié)集, , , 要加密碼的密碼
.局部變量 exc, 文本型, , "0", 取文件名格式用
.局部變量 文件長度, 長整數(shù)型, , , 要加密的文件大小
.局部變量 循環(huán)次數(shù), 整數(shù)型, , , 加密循環(huán)次數(shù)
.局部變量 FSO, 對象, , , 用于讀取文件屬性信息
.局部變量 GetFile, 對象, , , 用于讀取文件屬性信息
.局部變量 temp, 字節(jié)集, , , 臨時存放字節(jié)集
.局部變量 i, 整數(shù)型, , , 提示加密進度用
' 加密時是以80萬計/次讀入數(shù)據(jù)的,每次循環(huán)加密后的文件都會多出8字節(jié)的隨機密匙,所以解密時要以80.008萬/次讀入數(shù)據(jù)。
code = 到字節(jié)集 (密碼編輯框.內(nèi)容)
.如果真 (通用對話框1.打開 ())
  file1 = 打開文件 (通用對話框1.文件名, #讀寫, )
  FSO.創(chuàng)建 (“Scripting.FileSystemObject”, )
  GetFile = FSO.對象型方法 (“GetFile”, 通用對話框1.文件名)
  文件長度 = GetFile.讀數(shù)值屬性 (“Size”, )
  exc = 分割文本 (通用對話框1.文件名, “\”, )
  file2 = 打開文件 (取當前目錄 () + “\CNA+” + exc [取數(shù)組成員數(shù) (exc)], #改寫, )
  狀態(tài)條1.置文本 (0, “狀態(tài):正在加密..”)
  狀態(tài)條1.置文本 (1, “文件:” + 到文本 (exc [取數(shù)組成員數(shù) (exc)]))
  循環(huán)次數(shù) = 到整數(shù) (文件長度 \ 800000) + 1
  .計次循環(huán)首 (循環(huán)次數(shù), i)
    temp = 讀入字節(jié)集 (file1, 800000)
    CNA數(shù)據(jù) (temp, code, 1)
    寫出字節(jié)集 (file2, temp)
    狀態(tài)條1.置文本 (2, “進度:” + 到文本 (取整 (i ÷ 循環(huán)次數(shù) × 100)) + “%”) ' -----進度顯示以百分比方式顯現(xiàn)
  .計次循環(huán)尾 ()
  狀態(tài)條1.置文本 (0, “狀態(tài):加密完成”)
  關(guān)閉文件 (file2)
  關(guān)閉文件 (file1)
.如果真結(jié)束
.子程序 _打開文件解密_被單擊
.局部變量 file1, 整數(shù)型, , , 要加密的文件號
.局部變量 file2, 整數(shù)型, , , 加密后新建的文件號
.局部變量 code, 字節(jié)集, , , 要加密碼的密碼
.局部變量 exc, 文本型, , "0", 取文件名格式用
.局部變量 文件長度, 長整數(shù)型, , , 要加密的文件大小
.局部變量 循環(huán)次數(shù), 整數(shù)型, , , 解密循環(huán)次數(shù)
.局部變量 FSO, 對象, , , 用于讀取文件屬性信息
.局部變量 GetFile, 對象, , , 用于讀取文件屬性信息
.局部變量 temp, 字節(jié)集, , , 臨時存放字節(jié)集
.局部變量 i, 整數(shù)型, , , 提示加密進度用
' 注意: 加密時是以80萬計/次讀入數(shù)據(jù)的,每次循環(huán)加密后的文件都會多出8字節(jié)的隨機密匙,所以解密時要以80.008萬/次讀入數(shù)據(jù)。
code = 到字節(jié)集 (密碼編輯框.內(nèi)容)
.如果真 (通用對話框1.打開 ())
  file1 = 打開文件 (通用對話框1.文件名, #讀寫, )
  FSO.創(chuàng)建 (“Scripting.FileSystemObject”, )
  GetFile = FSO.對象型方法 (“GetFile”, 通用對話框1.文件名)
  文件長度 = GetFile.讀數(shù)值屬性 (“Size”, )
  exc = 分割文本 (通用對話框1.文件名, “\”, )
  file2 = 打開文件 (取當前目錄 () + “\CNA-” + exc [取數(shù)組成員數(shù) (exc)], #改寫, )
  狀態(tài)條1.置文本 (0, “狀態(tài):正在解密..”)
  狀態(tài)條1.置文本 (1, “文件:” + 到文本 (exc [取數(shù)組成員數(shù) (exc)]))
  循環(huán)次數(shù) = 到整數(shù) (文件長度 \ 800008) + 1 ' 注意要多出8字節(jié)
  .計次循環(huán)首 (循環(huán)次數(shù), i)
    temp = 讀入字節(jié)集 (file1, 800008) ' 看文件大小讀入多少字節(jié),如果文件非常大,則可以通過移動文件指針方式分段進行加密
    CNA數(shù)據(jù) (temp, code, )
    寫出字節(jié)集 (file2, temp)
    狀態(tài)條1.置文本 (2, “進度:” + 到文本 (取整 (i ÷ 循環(huán)次數(shù) × 100)) + “%”) ' -----進度顯示以百分比方式顯現(xiàn)
  .計次循環(huán)尾 ()
  狀態(tài)條1.置文本 (0, “狀態(tài):解密完成”)
  關(guān)閉文件 (file1)
  關(guān)閉文件 (file2)
.如果真結(jié)束

運行結(jié)果:

易語言中如何實現(xiàn)CNA文件加解密數(shù)據(jù)算法

感謝各位的閱讀!關(guān)于“易語言中如何實現(xiàn)CNA文件加解密數(shù)據(jù)算法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)站名稱:易語言中如何實現(xiàn)CNA文件加解密數(shù)據(jù)算法
轉(zhuǎn)載源于:http://aaarwkj.com/article12/gjcsdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作面包屑導(dǎo)航、App設(shè)計、網(wǎng)站營銷、移動網(wǎng)站建設(shè)、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
天堂社区人妻在线亚洲| 亚洲精品国产精品粉嫩av| 久久亚洲中文字幕精品熟女一区 | 久久精品国产精品日韩欧美| 亚洲伦理av在线观看| 亚洲成人永久免费精品| 免费在线观看一区二区三区视频| av一区二区三区三| 熟妇人妻内射一区二区三区| 中文字幕精品高清中国| 欧美日本黄色一级视频| 久久国产精品一二三区| 日韩一区欧美中文字幕| 永久免费观看黄色录像| 国产一区二区欧美日本| 日韩免费中文视频不卡| 午夜视频在线观看免费版| 在线播放av男人的天堂| 国产一区免费二区三区四区| 色综合色很天天综合色| 全国最大成人免费视频| 中文字幕日韩欧美一区二区| 日韩精品一二三区乱码| 久久精品国产免费夜夜嗨| 天堂av五月在线观看| 亚洲综合中文字幕经典av在线 | 国产精致成人免费视频| 我要看国产一级内射片| 欧美午夜精品一二三区| 午夜影院网站在线看黄| 成人免费视频观看国产| 99国产精品欲av麻豆在线观看| 国产欧美日韩精品国产| 我的极品小姨在线观看| 国产一区二区三区91精品| 国产无人区码一区二区| 日本一区二区免费高清不卡| 欧美一区二区日本国产激情| 久久国产成人精品免费看| 水蜜桃成人在线视频免费观看 | 欧美中文字幕精在线不卡|