保存のとき...
Posted: 2006年7月05日(水) 22:51
保存のとき簡単な暗号化にして保存、開くができません。誰か教えてください。
コード: 全て選択
Sub WriteXor(Buf As String,i As Long,C As DWord)
'引数Bufは最大で4バイト(終端NULL含めずに4バイト)の文字列にする。
Dim A As DWord
Dim B$ As String
A=Buf(0)+Buf(1)<<8+Buf(2)<<16+Buf(3)<<24'4バイト単位で数値化
A=A Xor C
B$=ZeroString(4)
B$(0)=A And &HFF'文字列に直す
B$(1)=(A And &HFF00)>>8
B$(2)=(A And &HFF0000)>>16
B$(3)=(A And &HFF000000)>>24
Put #1,i,B$'あらかじめランダムアクセスモード+4バイトフィールドで開いておく
End Sub
Sub InputXor(ByRef Buf As String,i As Long,C As DWord)
Dim A As DWord
Dim B$ As String
Get #1,i,B$'あらかじめランダムアクセスモード+4バイトフィールドで開いておく
A=B$(0)+B$(1)<<8+B$(2)<<16+B$(3)<<24'4バイト単位で数値化
A=A Xor C
Buf=ZeroString(4)
Buf(0)=A And &HFF'文字列に直す
Buf(1)=(A And &HFF00)>>8
Buf(2)=(A And &HFF0000)>>16
Buf(3)=(A And &HFF000000)>>24
End Sub
コード: 全て選択
Dim FileData As BytePtr '保存内容
Dim x As Long ' 暗号化の定数
Dim Size As Long '保存内容のサイズ
Dim i As Long
Dim Size As Long
'暗号化時
Size=lstrlen(FileData)
x=5 '暗号化の定数を設定
for i=0 To Size
FileData=FileData+x
Next i
'復号化時
Size=lstrlen(FileData)
x=5 '復号化の定数を設定
for i=0 To Size
FileData=FileData-x
Next i