保存のとき...

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 保存のとき...

by Ryo » 2006年7月10日(月) 16:33

定数なら変数を使用しなくてもConstで定義するだけで良いと思います。

by ケースケ » 2006年7月09日(日) 23:40

ただ、メモ帳等で読めないようにするだけなら、定数を加えるだけでいいと思います。

コード: 全て選択


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

by konisi » 2006年7月06日(木) 07:38

弱い暗号化として定数+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
と言った具合に。(これはやや適当が入ってますが。)

保存のとき...

by popkou » 2006年7月05日(水) 22:51

保存のとき簡単な暗号化にして保存、開くができません。誰か教えてください。

ページトップ