日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ini文件加密

發(fā)布時(shí)間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ini文件加密 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ini文件在xml的強(qiáng)勁攻勢下,似乎已到了退出舞臺的時(shí)候,但是在某些簡單的設(shè)置保存中,使用ini文件還是一個(gè)不錯(cuò)的選擇。
譬如保存歌曲列表、用戶名、密碼等等,瀏覽器The world似乎也是用ini來保存很多信息,有時(shí)候我們不希望ini的信息被別人看到,那么就需要對其進(jìn)行加密。


下面,小廝就這一話題展開。
思路是這樣的,把將要寫入ini的內(nèi)容進(jìn)行編碼,使ini文件的內(nèi)容為亂碼,
在程序需要讀取ini文件的內(nèi)容時(shí),在將其解碼,然后讀出,而這一編解碼的算法只有程序員知道,所以ini文件的信息也就安全了。


說的詳細(xì)一點(diǎn)就是這樣的過程:
譬如可執(zhí)行程序xiaosi.exe和配置文件xiaosi.ini都位于c:chatang下,xiaosi.ini的內(nèi)容是亂碼。
當(dāng)運(yùn)行程序xiaosi.exe時(shí),程序在c:windowssystem32下創(chuàng)建另一個(gè)配置文件sige.ini(當(dāng)然這個(gè)位置和文件名只有程序員一個(gè)人知道),
并對xiaosi.ini進(jìn)行解碼,解出的內(nèi)容存入sige.ini中,之后xiaosi.exe對ini配置文件進(jìn)行的所有讀寫操作都對sige.ini執(zhí)行,
在xiaosi.exe程序退出時(shí),將sige.ini的內(nèi)容編碼寫入到xiaosi.ini中,然后將sige.ini刪除。

下面說一下所謂的編解碼算法(其實(shí)也稱不上算法的,只是一個(gè)小運(yùn)算而已)。
我們知道(A XOR B) XOR B =A XOR (B XOR B)=A XOR 0=A
所以,我們假設(shè)A為sige.ini的內(nèi)容,
B為一個(gè)隨機(jī)數(shù),則A XOR B就是亂碼,我們將其寫入文件xiaosi.ini,
在讀出文件的時(shí)候,再取xiaosi.ini的內(nèi)容即A XOR B,再進(jìn)行一次與B的異或操作,(A XOR B) XOR B=A,將A寫入sige.ini中,即完成了解碼操作。


下面開始寫代碼了。
Dim FileName1 As String '第一個(gè)文件
Dim FileName2 As String '第二個(gè)文件
Dim FileName3 As String '第二個(gè)文件
Dim arry() As Byte '用來讀取文件的數(shù)組

FileName1 = App.Path + "sige1.ini"
FileName2 = App.Path + "xiaosi.ini"
FileName3 = App.Path + "sige2.ini"

'=============================
'讀出sige1.ini的內(nèi)容,進(jìn)行編碼

Open FileName1 For Binary As #1
ReDim arry(LOF(1) - 1) '重定義數(shù)組
Get #1, , arry() '取得第一文件的內(nèi)容到數(shù)組

For i = 0 To LOF(1) - 1
arry(i) = "&H" & Hex(arry(i)) Xor &H58 '&H58當(dāng)然可以是任意的數(shù)值
Next i
Close #1

'==================================
'編碼后的內(nèi)容(亂碼)寫入xiaosi.ini

Open FileName2 For Binary As #2
Put #2, , arry()
Close #2

'==================================
'讀出xiaosi.ini的內(nèi)容進(jìn)行解碼

Open FileName2 For Binary As #3
ReDim arry(LOF(3) - 1)
Get #3, , arry()

For i = 0 To LOF(3) - 1
arry(i) = "&H" & Hex(arry(i)) Xor &H58
Next i
Close #3

'==================================
'解碼后的內(nèi)容(亂碼)寫入sige2.ini

Open FileName3 For Binary As #4
Put #4, , arry()
Close #4


當(dāng)然,以上只是進(jìn)行的文件讀寫和編解碼操作,至于程序本身其他的要求,將本代碼插入程序需要的位置,即可實(shí)現(xiàn)。
寫完了,看一下結(jié)果吧。

?

總結(jié)

以上是生活随笔為你收集整理的ini文件加密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。