當前位置:編程學習大全網 - 源碼下載 - 如何用VB編寫文件加密程序

如何用VB編寫文件加密程序

逐位反向排序加密法是壹種以位為單位的換位加密法。用VB實現的具體算法是:

(1)以二進制模式打開源文件;

(2)從源文件的I位讀取壹個字節,假設字母為“A”,得到“A”的ASCII值為65;

(3)將65轉換成八位二進制串為“0100001”;

(4)將“0100001”逐位排序,得到另壹個八位二進制串“1000010”;

(5)將“1000010”轉換成十進制並寫回源文件的第I位,完成壹個字節的加密;

(6)重復(2)、(3)、(4)和(5),直到所有字節都被加密。

為了使程序模塊化,我們使用函數進程ByteToBin來完成字節數據到二進制字符串的轉換(其本質是將十進制數轉換為八位二進制字符串);用函數process BinToByte將二進制串轉換成字節數據(本質上是將八位二進制串轉換成十進制數):用函數process Reverse將八位二進制串逐位排序。具體程序如下:

函數byte tobin (m as byte) as string '將字節數據轉換為八位二進制字符串。

Dim c$美元

c$ = " "

在m & lt& gt0

r = m Mod 2

m = m \ 2

c $ = r & amp加元

c $ = Right(" 00000000 " & amp;加元,8)

ByteToBin = c$

結束功能

函數reverse (m as string) as string '反轉八位二進制字符串的順序。

維度i%,x美元

x = " "

對於i = 1到8

x = Mid(m,I,1)& amp;x

接下來我

反向= x

結束功能

函數bintobyte (m as string) as byte '將八位二進制字符串轉換為十進制。

Dim x As String * 1,y%,z%

z = 0

對於i = 1到8

x = Mid(m,I,1)

y = x * 2 ^ (8 - i)

z = z + y

接下來我

BinToByte = z

結束功能

私有子命令1_Click()

Dim x As Byte,i%,fname$

Fname = InputBox("請輸入要加密的文件名!請註意路徑名: ")

如果Dir(fname) = ",則

MsgBox "文件不存在!

出口接頭

如果…就會結束

Open fname For Binary As #1 '以二進制訪問模式打開要加密的文件。

對於i = 1到LOF(1)' LOF函數是壹個內部函數,用於查找文件長度。

Get #1,I,x '取出第I個字節。

x = bintobyte(reverse(byte Tobin(x))'這裏有三個自定義函數,稱為。

Put #1,I,x '將加密的字節寫回到文件的原始位置。

接下來我

關閉

MsgBox“任務完成!”

末端接頭

這個例子可以完成任何文件的加密和解密。同壹文件的第壹次處理是加密,第二次處理是解密。要調試這個程序,可以用記事本在c盤根目錄下隨機創建壹個文本文件(假設文件名為aaa.txt),任意內容(包括字母、漢字、數字、回車、換行符等。).運行此程序後,在文件名輸入對話框中輸入文件名(如“C:\aaa.txt”),然後按回車鍵完成文件的加密。文件加密後,可以在記事本中打開文件查看加密效果。如果妳想解密它,妳可以再次運行該程序,並輸入相同的文件名。

  • 上一篇:Android插件化突破應用市場無法上廣告的問題
  • 下一篇:斯塔克與索引源代碼
  • copyright 2024編程學習大全網