保存のとき...
弱い暗号化として定数+Xorを使うなら、書き込む時書き込む文字列を一ブロック単位で区切り、Xor演算をして書き込めばいいかと思います。
と言った具合に。(これはやや適当が入ってますが。)
コード: 全て選択
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
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ただ、メモ帳等で読めないようにするだけなら、定数を加えるだけでいいと思います。
コード: 全て選択
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